首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Appium 运行测试

准备你要测试的应用(iOS)

被测应用要在模拟器上运行,就必须针对该模拟器进行专门的编译,例如在 Xcode 项目下执行如下命令(你可以使用来看看你电脑上提供了多少 SDK):

这会在你的 Xcode 项目下创建一个目录。这个目录包含应用包。你就是用这个包和 Appium server 沟通。

如果需要,可以将应用程序目录压缩到ZIP文件中!Appium 会帮你解压。

准备你要测试的应用(Android)

你什么都不用做就可以在 Appium 上运行 apk。如果你想打包,随你。

准备你要测试的应用(Windows)

你什么都不用做就可以在 Appium 上运行 Windows 应用。

在 Appium 上运行你的测试应用(IOS)

想知道当前要做什么,最好的方法就是是查看示例代码:

Node.js|Python|PHP|Ruby|Java

基本上,首先确保 Appium 运行:

然后编写你的 WebDriver 测试脚本, 用如下的 desired capabilities:

在上面这一组 capabilities 里,必须是以下的任意一个:

基于对应模拟器编译的 .app 目录或者 zip 文件的绝对路径

app 应用包的 zip 文件的 URL

基于 Appium 安装根目录的示例应用程序的相对路径

用你选择的 WebDriver (客户端)库,使用这些 capabilities 和本地的4723端口建立远程会话(或任何启动 Appium 时候指定的主机和端口)。现在你应该都设置好了!

使用 Appium 测试你的应用 (Android)

首先,确保你有一个且只有一个 Android 模拟器或设备连接。例如,如果你运行, 你应该只看到一个设备连接。这个设备就是 Appium 用来测试的。当然, 要连接上一个设备,你需要配置一个 Android AVD (更多信息参考Windows,Mac, 或者Linux))。如果你的系统变量 PATH 里有 Android SDK 的工具路径,你可以简单运行如下命令:

等待 android 模拟器完成启动(可以去喝个咖啡)。有时,各种原因,会卡住。如果不显示任何连接设备或否则失败,你可以通过运行以下命令重启它:

现在,确认 Appium 运行起来:

有几种方法可以启动一个 Appium 应用程序(和使用 adb 启动一样):

仅仅使用 apk 或者 zip,默认 activity 会被加载 ('app' capability)

apk + activity ('app' + 'appActivity' capabilities)

apk + activity + intent ('app' + 'appActivity' + 'appIntent' capabilities)

...

Activity 可以通过以下方式指定:

absolute (比如 appActivity: 'com.helloworld.SayHello').

相对于应用包名 (e.g. appPackage: 'com.helloworld', appActivity='.SayHello')

如果指定 'appWaitPackage' 和 'appWaitActivity',Appium 会转菊花等待,直到这些 Activity 启动。您可以指定等待多个Activity。例如:

appActivity: 'com.splash.SplashScreen'

appPackage: 'com.splash' appActivity: '.SplashScreen'

appPackage: 'com.splash' appActivity: '.SplashScreen,.LandingPage,com.why.GoThere'

如果你不确定你的 apk 中配置的是哪个 Activity,你可以用下列方法:

Mac/Linux: 'adb shell dumpsys window windows | grep mFocusedApp'

在Ruby控制台: 'adb shell dumpsys window windows`.each_line.grep(/mFocusedApp/).first.strip'

在Windows终端运行 'adb shell dumpsys window windows' 然后手动找到 mFocusedApp(坑爹,windows shell 下面不是有 findStr 么?)

然后开始写 WebDriver 的测试脚本,使用下面的 desired capabilities:

在这组 capabilities 里,必须是以下任意一个:

apk 或者 zip 文件的绝对路径

apk 的 zip 文件的 url 链接

基于 appium 安装根目录的示例应用的相对路径

用你选择的 WebDriver (客户端)库,使用这些 capabilities 和本地的4723端口建立远程会话(或任何启动 Appium 时候指定的主机和端口)。现在你应该都设置好了!

使用 Appium 运行你的测试程序(Android设备& lt;4.2,混合应用)

4.2版本之前的(API级别17)Android 没有集成谷歌的UiAutomator framework。 Appium 使用 UiAutomator 来执行自动化。那么在早期的设备或混合(webview-based)应用程序, Appium 是与另一个自动化后台绑定Selendroid。

要使用 Selendroid,只需稍微改动 desired capabilities,添加并指定 Selendroid 为自动化后台。通常,你还需要在你的 activity 名字前加一个(如,这个 capability 需要使用而不是)。

现在 Appium 将启动一个 Selendroid 测试会话而不是默认的测试会话。 使用 Selendroid 的缺点之一是,它的一些 API 和Appium 有着显著的差别。 因此,我们建议你在为旧设备或混合应用程序编写脚本时,彻读(Selendroid文档)(http://selendroid.io/native.html)

运行你的测试程序与Appium(Windows)

只需确保 Appium 在监听,然后运行你的测试。

END

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180727G0OJQ600?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券