一、启动app
启动app需要设置Capability参数,而Capability参数放在Desired Capalibity中,Desired Capalibity告诉Appium想要的自动化平台和应用程序,这是一组键值对,主要是用于通知Appium服务器建立需要的session
设置Capability的公共部分
platformName 自动化测试手机的操作系统(Android/iOS)
platformVersion 手机对应的版本(Android 10)
deviceName 连接的设备名(模拟器或真机)
设置Capability 的Android部分
appActivity 通过APK包获取,获取方式在下方有说明
appPackage 通过APK包获取包名,获取方式在下方有说明
Android完整案例:
1 2 3 4 5 6 7 8 9 10 11 |
|
1.plateforName的作用?
操作系统,例如:Android、iOS、FirefoxOS
2.deviceName的作用是什么?(获取设备名的方式在下面内容)
设备名,连接的设备名(真机或模拟器)
3.platforVersion的作用是什么?
操作系统版本,对应连接的模拟器或手机的系统版本
4.appActivity和appPackage的作用是什么?(获取的方式在下面内容)
使Appium确切知道应为您的应用程序启动哪个程序包和活动。否则,Appium会尝试从您的应用清单中自动确定这些内容。
5.autoGrantPermissions的作用是什么?
让appium自动授权app权限,如果noReset为True,则该条不生效(该参数为Android独有),对应的值为True或False
6.automationName的作用是什么?
使用引擎,默认为Appium,其中Appium、UiAutomator2、Selendroid、Espresso用于Android,XCUITest用于iOS
7.webdriver.Remote("http://localhost:4723/wd/hub", caps)的作用是什么?
webdriver.Remote实际上就是原生webdriver的子类,另外Remote()构造函数的第一个参数中需要显示指定appium server监听的端口
二、退出App
1 2 |
|
三、appium实现原理
客户端(即PC端)通过4723端口,向服务端(server)发送代码请求,服务端与移动端(设备:手机或模拟器)通过4724端口进行通信,当服务端接收到请求后,移动端的Bootstrap.jar包,将命令传送给Uiautomator执行点击、滑动的操作。
Bootstrap的作用:启动socket通信,监听4724端口
如下图所示:
appium只是一个框架,调用的自动化框架是Android或iOS本身的框架,默认端口号是4723,本地的IP地址是:http://127.0.0.1,或http://locahost
四、如何获取deviceName?
移动端在“手机->设置->开发者选项”中打开USB调试,PC端按下【Windows+R】,输入cmd,运行cmd,输入adb devices,如下图所示:
图中的device前面的参数即表示设备名:U4AIUKFAL7W4MJR
五、如何获取apk的appActivity和appPackage?
1、在Android SDK的文件夹下找到aapt.exe应用程序,在"D:\Android\SDK\build-tools\30.0.1"路径下,如下图所示:
2、按下【Windows+R】,输入cmd,运行cmd ,进入该盘,再进入appt.exe所在的文件夹,输入的内容为:“cd D:\Android\SDK\build-tools\30.0.1”,则可以进入该文件夹,进入文件夹后输入“aapt dump badging apk所在的路径+apk名字”,如下图所示即为成功,下图所示为获取到的app的appPackage
下图所示为获取到的app的appActivity
现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
qq群号:485187702【暗号:csdn11】
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
视频+文档+PDF+面试题可以关注公众号:【软件测试小dao】
最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走! 希望能帮助到你!【100%无套路免费领取】