自动化测试appium

本节内容:

1:自动化测试工具的安装

2:常用adb的命令

3:常用功能会的汇总

4:爬取朋友圈实例

0:报错问题

1:adb无法链接上夜神模拟器
    1、先关闭所有adb的进程;
    2、将电脑中SDK目录下的adb.exe文件,复制到夜神模拟器的目录下(bin目录),
        夜神模拟器目录下原adb文件名字叫做nox_adb.exe,复制过去之后改名为nox_adb.exe,替换即可。

一、自动化测试工具的安装

通过百度云去获取AndroidSDK 、jdk-8u211-windows-x64.exe、appium,里面集成了自动化appium包

也可以查看http://www.python3.vip/doc/tutorial/appium/01/  博文

链接:https://pan.baidu.com/s/1ZzdN-Tv9Jv0Py1C-cTk99A 
提取码:dw69 

(1)安装jdk-8u211-windows-x64.exe后,要创建JAVA_HOME的环境变量

(2)解压AndroidSDK到一个目录,然后要创建ANDROID_HOME环境变量

(3)解压AndroidSDK到一个目录,然后要添加一个path变量

(4)安装appium

二、常用adb的命令

2.1:获取appPackage和appActivity
手机已经安装的apk了

1)链接上调试的手机设备,然后执行你安装的Androidskd中的
    D:\tools\androidsdk\tools\bin\uiautomatorviewer.bat文件然后获取元素。最好弄个快捷方式
(2)adb -s 127.0.0.1:62001 shell pm list package
    当链接设备有多个的时候要指定设备名字,命令列出了所有的包名字 
(3)会显示如下,最近的 几个 activity 信息
  adb shell dumpsys activity recents | find "intent={"
  adb -s 127.0.0.1:62001 shell dumpsys activity recents | find "intent={"

手机上没有安装apk

d:\tools\androidsdk\build-tools\29.0.3\aapt.exe dump badging d:\tools\apk\bili.apk | find "package: name="
输出信息中,就有应用的package名称
d:\tools\androidsdk\build-tools\29.0.3\aapt.exe dump badging d:\tools\apk\bili.apk | find "launchable-activity"
输出信息中,就有应用的启动Activity

2.2:点击、屏幕拖动、拖拽、文本输入、动作链

点击:tap(self,postions,duration=None)  

postions:他是点击的位置组成的列表
duration:他是点击持续时间单位是毫秒
实例:
driver.tap([(100,20),(100,60),(100,100)],500)
这样就可以模拟点击屏幕的几个点
对于某个元素如按钮来说,我们可以直接调用click方法:
button = find_element_by_id('com.tencent.mm:id/btn')
button.click()

屏幕拖拽:

scroll(self,origin_el,destination_el) 
实例如下所示
driver. scroll (ell, el2) 
从元素el1到元素el2
  
swipe(self,start_x,start_y,end_x,end_y,duration=None)
实例如下所示
driver. swipe ( 100, 100, 100, 400, 5000) 
这样可以实现在 5s 时间内,由 (100, 100)滑动到(100, 400)

可以使用 flick ()方法模拟从 点快速滑动到 点,用法如下所示:
flick(self, start_x, start_y, end_x, end_y)

拖拽  drag_and_drop():

将某个元素拖动到另一个目标元素上,用法如下所示:
drag_and_drop(self, origin_el, destination_el)
可以实现将元素 origin_el 拖曳至元素 destination_el
文字输入:set text ()方法实现文本输入
el = find_element_by_id (’ com.tencent.mm:id/cjk')
el.set_ text("hello")

动作链 :与Selenium 中的 ActionChains 类似, ppium 中的 TouchAction 可支持的方法有

tap()、press().long press()、release()、move_to()、wait()、cancel()等,
实例如下所示:
el = self.driver.find_element_by_accessibility_id (’Animation ' ) 
action = TouchAction(self .driver) 
action.tap(el).perform()
首先选中一个元素,然后利用 TouchAction 实现点击操作
如果想要实现拖动操作,可以用如下方式:
els= self.driver.find_elements_by_class_name('listview') 
al = TouchAction() 
al.press(els[0]). move_ to(x=10, y=0).move_ to(x=10,y=- 75).move_ to(x=10, y=-600).release() 
a2 = TouchAction() 
a2.press(els[1]).move_to(x=10,y=10).move_ to(x=10,y=- 300).move_to(x=10, y=-600).release()

3:常用功能会的汇总

4:爬取朋友圈实例

 

posted @ 2020-04-22 09:37  你是我的神奇  阅读(303)  评论(0编辑  收藏  举报