「docker实战篇」python的docker爬虫技术-移动自动化控制工具appium工具(17)
2019-05-27 08:51:56
李明
  • 访问次数: 377
  • 注册日期: 2018-07-09
  • 最后登录: 2019-10-30

原创文章,欢迎转载。转载请注明:转载自 IT人故事会,谢谢!
原文链接地址: 「docker实战篇」python的docker爬虫技术-移动自动化控制工具appium工具(17)

Appium是一个开源测试自动化框架,可用于原生,混合和移动Web应用程序测试。 它使用WebDriver协议驱动iOS,Android应用程序。直接多种语言:java,python等等。

16af6c4fce313f1a?w=617&h=231&f=png&s=357

appium架构

16af6c4fc7692d4c?w=396&h=437&f=png&s=978

desired capability

desired capability的功能是配置Appium会话。他们告诉Appium服务器您想要自动化的平台和应用程序。官网介绍: http://appium.io/slate/en/master/?java#appium-server-capabilities

16af6c4fcae50139?w=1240&h=655&f=png&s=86
  • Desired Capability的值-公用


    16af6c4fc896945b?w=432&h=413&f=png&s=100
  • Desired Capability的值-android


    image.png
    image.png
  • Desired Capability的值-ios

16af6c4fcd211205?w=582&h=374&f=png&s=108

Appium优缺点

  • 优点:

支持多种应用程序的测试
支持使用多种语言来编写测试脚本
被测试的应用程序不需要特殊的编译
Appium支持应用之间跳转的测试

  • 缺点:

由于服务端运行在电脑上,该工具必须连接电脑才可以运行
只能用于UI的自动化测试,在很多情况下的测试验证只能通过验证界面来进行

操作控件

  • 获取控件信息
16af6c4ff86d1587?w=1240&h=505&f=png&s=14
  • 手势部分

主要有点击、滑动、拖拽、放缩等常用的操作

16af6c4ff3588007?w=1240&h=895&f=png&s=32
  • 系统操作API

系统操作用于模拟硬件操作、设置网络环境、获取系统信息等,下表简单的介绍一下常用的方法。

16af6c4ff9e41329?w=1240&h=918&f=png&s=33
  • 如何获取参数

设置---关于手机
platformName
platformVersion

16af6c4ff9c51e0d?w=1240&h=745&f=png&s=19

命令: adb devices
deviceName

image.png
image.png

命令:

adb shell
logcat | grep cmp=
16af6c5019802c66?w=1050&h=152&f=png&s=80
16af6c504d060454?w=1240&h=735&f=png&s=20

点击start session

16af6c502bafb7d8?w=1240&h=653&f=png&s=13

截图写错了,写成了onReset 应该是noReset,自动跳过引导页面

16af6c504ff5e5dc?w=1240&h=426&f=png&s=91

进入了界面

16af6c504f83197b?w=1240&h=647&f=png&s=15
16af6c505d942d06?w=1240&h=654&f=png&s=19
  • 如何录制脚本

1.start Recording

16af6c5053585032?w=1240&h=669&f=png&s=20

2.Select Elements,选中后选择一个用户名输入框

16af6c506f381082?w=1240&h=657&f=png&s=20

3.点击send keys

16af6c507bf71733?w=1240&h=656&f=png&s=19

4.输入idig8.com 选择send keys

16af6c50715e3ac9?w=1240&h=605&f=png&s=14

5.模拟器用户名框也发生了变化

16af6c5091115fb0?w=1240&h=948&f=png&s=14

6.Select Elements,选中后选择请输入密码框

16af6c507adc9ed0?w=1240&h=671&f=png&s=20

7.点击send keys

16af6c509be92a2e?w=1240&h=595&f=png&s=13

8.模拟器密码框发生变化

image.png
image.png

9.Select Elements选择登录,点击Tap

16af6c509dbca5ae?w=1240&h=649&f=png&s=20
  1. 有反应了,哈哈
16af6c50b16b4201?w=1240&h=607&f=png&s=18
  1. 脚本出来了
MobileElement el6 = (MobileElement) driver.findElementById("com.tal.kaoyan:id/login_email_edittext");
el6.sendKeys("idig8");
MobileElement el7 = (MobileElement) driver.findElementById("com.tal.kaoyan:id/login_password_edittext");
el7.sendKeys("password");
MobileElement el8 = (MobileElement) driver.findElementById("com.tal.kaoyan:id/login_login_btn");
el8.click();
16af6c50b286d6fa?w=1240&h=654&f=png&s=19
  1. 真实的用户名和密码,登录到系统内部。模拟器刷新了,但是appium没有刷新可以点击这个按钮。
16af6c50d2e126cd?w=1240&h=655&f=png&s=19

PS:appium明显要比安卓的ui那个工具好用多了,重点是开头的那段配置,一开始的截图,我的Andriod单词写错了,是onReset,截图写成了onReset,希望不会误导老铁们。

16af6c50c434d315?w=1080&h=541&f=png&s=45

v2-7f75c93f587eca2c35da2664ce67e513_hd.p