如何从 jenkins 启动 appium 服务器和模拟器,然后 运行 selenium 测试用例?

How to start appium server and emulators from jenkins and then run the selenium test cases?

如何从 jenkins 启动 appium 服务器和模拟器,然后 运行 selenium 测试用例?

需要 运行 我从 Jenkins 为移动自动化创建的 Maven 项目,但没有手动干预。启动 Appium 服务器和模拟器。

制作一个 Jenkins 作业,它将检查目标环境中的项目,构建它,然后 运行 一个脚本,该脚本将调用指向构建应用程序的 appium 命令,然后 运行启动测试的 selenium 命令。

你的问题没有那么多细节,但很快:

  1. 创建 Jenkins 作业。
  2. 点测试要构建的源代码位置和运行
  3. 添加构建步骤以启动 Appium(命令取决于您的环境)
  4. 将构建步骤添加到 运行 模拟器(emulator -avd your_emulator_name 或使用 Genymotion)
  5. 添加构建步骤以调用 maven 命令(干净测试)

不要忘记启动 Appium 和 运行 模拟器作为后台进程,否则它会阻止作业执行。命令格式取决于您的环境(Linux 或 Win)。您可能需要插入时间延迟让仿真器初始化(命令格式再次取决于您的 OS)。希望它对你有意义。

你可以看看这个 appium maven 插件:

https://github.com/Ardesco/appium-maven-plugin

它会在测试前启动 Appium 运行,然后关闭它。您还可以使用 Maven 配置文件,这样它就不会一直发生。

<plugin>
<groupId>com.lazerycode.appium</groupId>
<artifactId>appium-maven-plugin</artifactId>
<version>0.2.0</version>
<configuration>
    <nodeDefaultLocation>${project.basedir}/src/test/node</nodeDefaultLocation>
    <appiumLocation>${project.basedir}/src/test/node_modules/appium</appiumLocation>
</configuration>
<executions>
    <execution>
        <id>start appium</id>
        <phase>pre-integration-test</phase>
        <goals>
            <goal>start</goal>
        </goals>
    </execution>
    <execution>
        <id>stop appium</id>
        <phase>post-integration-test</phase>
        <goals>
            <goal>stop</goal>
        </goals>
    </execution>
</executions>

如果您没有在本地安装 Appium,您可以使用 frontend-maven-plugin 下载 Appium(更多信息见上面的 link)