一.摘要 本篇博文,将阐述如何将环境&代码&APP联系起来工作 二.Java代码 我们先看一段真实的java代码,我将他放在了TestNG框架的@BeforeTest里,执行这段即可启动安卓手机上的APP“com.tencent.Q108” 后边一一详述 @BeforeTest public void setUp() throws MalformedURLException{ DesiredCapabilities caps = new DesiredCapabilities(); //…
appium做app自动化测试,环境搭建是比较麻烦的. 也是很多初学者在学习app自动化之时,花很多时间都难跨越的坎. 但没有成功的环境,就没有办法继续后续的使用. 在app自动化测试当中,我们主要是通用电脑端的python代码,能够驱使手机端的app去进行操作. 比如打开一个app,输入用户名和密码,进入登陆操作. 由于电脑端和手机端是两个独立的设备. 要实现数据通信,就需要将二者连一起. 因此对于真机用户,需要用USB线连接手机和电脑,并且在开发者选项当中,开启USB调试模式. App自动化…
一.Appium工作原理 脚本请求 --> 4723端口appium server --> 解析参数给PC端4724端口 --> 发送给设备4724端口 --> 通过设备4724端口发给bootstrap.jar --> Bootstrap.jar把命令发给uiautomator Json Wire Protocol: 它是一种协议,遵循REST风格,以JSON方法进行传输,是一系列的键值对,遵循W3C WebDriver Spec设计风格:appium中的Json wire…
1.首先手机使用usb连接电脑端接受控制 2.打开appium,配置Desired Capabilities 参数: Appium驱动打开微信App 参数配置如下: start session 报错: appium 内置驱动打开京东app 配置参数如下: start session 报错: 这里报的错误还能看懂找不到手机端的app包,上边的一个就很尴尬了一大堆没有头绪. 应该还是参数配置出现了问题,不然不会进不去调试窗口. 主要是这个 Desired Capabilities Documenta…
Desired Capabilities在启动session的时候是必须提供的,先看如下代码: Desired Capabilities本质上是key value的对象,他告诉appium server这样一些事情: 1.本次测试时启动浏览器还是移动设备: 2.是启动的Android还是IOS: 3.启动Android时,app的package是什么: 4. 启动Android时,app的activity是什么: Appium的Desired Capabilities是扩展了webdriver的…
一.环境准备 1.脚本语言:Python3.x IDE:安装Pycharm 2.安装Java JDK .Android SDK 3.adb环境,path添加E:\Software\Android_SDK\platform-tools 4.安装Appium for windows   点击下载按钮会到GitHub的下载页面,选择对应平台下载 安装完成后,启动Appium,host和port默认的即可,然后设置Android SDk和Java JDK   然后点下边那个保存并重启的按钮,然后点第一个…
目录 1.appium工作原理 desired capabilities 2.准备工作 3.第一个appium脚本 获取包名和启动的activity 编写脚本 运行结果 1.appium工作原理 启动appium server appium client 发送Desired Capabilities信息给appium server,appium server返回一个session id给client appium client发送指令给appium server,appium server把命令…
下面是一些Python脚本中操作app的用法: 检查app安装情况(返回true/false), driver.is_app_installed(package_name) 安装app driver.install_app("x:/xxx.apk") 卸载app driver.remove_app(package_name) 打开通知栏 driver.open_notifications() 关闭app driver.close_app() 启动app driver.launch_ap…
简介 Desired capabilities 是一些键值对的集合.python里面就采用字典的方式. 客户端将这些键值对发给服务端,告诉服务端我们想要怎么测试.比如,我们可以把 platformName 的 capability 设置为Android,就是告诉 Appium 服务端,我们想要一个 Android 的 session,而不是一个 IOS 的. 我们在新建driver之前,会先定义好 desired_caps. APP desired_caps 定义 比如下面的代码: desire…
Desired Capabilities Desired Capabilities 在启动 session 的时候是必须提供的. Desired Capabilities 本质上是以 key value 字典的方式存放,客户端将这些键值对发给服务端,告诉服务端我们想要怎么测试.它告诉 appium Server这样一些事情: 本次测试是启动浏览器还是启动移动设备. 是启动Andorid还是启动iOS. 启动Android时,app的package是什么. 启动Android时,app的activ…