• 自动化测试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:	oolsandroidsdk	oolsinuiautomatorviewer.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:	oolsandroidsdkuild-tools29.0.3aapt.exe dump badging d:	oolsapkili.apk | find "package: name="
    输出信息中,就有应用的package名称
    d:	oolsandroidsdkuild-tools29.0.3aapt.exe dump badging d:	oolsapkili.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:爬取朋友圈实例

  • 相关阅读:
    (创建型模式)Abstract Factory——抽象工厂模式
    (结构型模式)Composite——组合模式
    (行为模式)Command——命令模式
    (创建型模式)Singleton——单例模式
    Windows的Notepad++的插件
    Ubuntu的软件源更新常见问题及解决
    The following signatures were invalid: BADSIG 40976EAF437D05B5 Ubuntu Archive Automatic Signing Key
    Ubuntu安装ImageMagick
    常见误操作之警惕
    Rails3.2.x new project启动错误:Could not find a JavaScript runtime.
  • 原文地址:https://www.cnblogs.com/hero799/p/12749902.html
Copyright © 2020-2023  润新知