zoukankan      html  css  js  c++  java
  • jenkins启动appium服务

    想在jenkins中,自动定时启动appium服务,shell命令已准备如下:

    BUILD_ID=dontKillMe
    ps -ef |grep appium |grep -v grep |awk '{print $2}' |xargs kill -9 
    echo "" > appium.log
    nohup appium --address 127.0.0.1 --port 4723 --session-override --platform-name Android --platform-version 25 --automation-name Appium --log-timestamp --local-timezone --no-reset  >> appium.log 2>&1&

    其中,nohup 是后台启动命令

    清理进程: ps -ef |grep appium |grep -v grep |awk '{print $2}' |xargs kill -9  如果appium服务已经启动,就杀死该进程

    appium服务:appium --address 127.0.0.1 --port 4723 --session-override --platform-name Android --platform-version 25 --automation-name Appium --log-timestamp --local-timezone --no-reset
    保存为日志文件:>> appium.log

    2>&1  错误日志也输入appium.log文件

    最后一个 & :把命令丢在后台执行

    在jenkins执行后,无法启动appium。是由于jenkins执行完命令后,又马上杀死这个命令进程,需要添加一行命令:BUILD_ID=dontKillMe

    jenkins执行下构建,在构建目录会生成一个appium.log 目录,appium服务运行的日志都保存在这个文件中。

    如果出现jenkins 执行shell 无法启动,那就把上面的命令保存为shell .sh脚本,在jenkins 执行该脚本也能正常启动appium

    有时候appium 还没有启动就开始执行测试用例,导致用例执行不成功,最后加了个while循环,确认下appium 启动成功后再执行用例,

    #!/bin/bash
    ps -aef |grep appium
    rm -rf appium.log
    touch appium.log
    
    appium_log_content=`cat appium.log`
    while [ ${#appium_log_content} -le 666 ]; do
        appium_log_content=`cat appium.log`
        /Users/pub_pawf_autotest/autoconf/bin/start_appium.sh
        echo "appium still not  started!"
        sleep 2
    done 
    ps -aef |grep appium
    cat appium.log
    sleep 2

     jenkins执行启动结果如下:

    构建中 在工作空间 /Users/pub_pawf_autotest/.jenkins_8090/workspace/start_appium 中
    [start_appium] $ /bin/bash /Users/pub_pawf_autotest/env/apache-tomcat-8.5.30-8090/temp/jenkins4264455098456018568.sh
    1400560847 19226     1   0  4:41下午 ttys001    0:02.09 node /usr/local/bin/appium --address 127.0.0.1 --port 4723 --session-override --platform-name Android --platform-version 25 --automation-name Appium --log-timestamp --local-timezone --no-reset
    1400560847 19280 19278   0  4:42下午 ttys001    0:00.00 grep appium
    appium still not  started!
    appium still not  started!
    1400560847 19317     1   0  4:42下午 ttys001    0:01.91 node /usr/local/bin/appium --address 127.0.0.1 --port 4723 --session-override --platform-name Android --platform-version 25 --automation-name Appium --log-timestamp --local-timezone --no-reset
    1400560847 19322 19278   0  4:42下午 ttys001    0:00.00 grep appium
    
    Finished: SUCCESS
  • 相关阅读:
    JavaScript——类型检测
    JavaScript——语法与数据类型
    .NET下使用 Seq结构化日志系统
    Vs Code搭建 TypeScript 开发环境
    Entity Framework Core一键生成实体命令
    使用TestServer测试ASP.NET Core API
    Entity Framework Core导航属性加载问题
    Autofac创建实例的方法总结
    .NET Exceptionless 日志收集框架本地环境搭建
    依赖注入和控制反转
  • 原文地址:https://www.cnblogs.com/testway/p/9055673.html
Copyright © 2011-2022 走看看