• python简单实现appium移动端真机运行自动化测试(Android篇)


    Eclipse和Python环境搭建完后,依次安装如下必备品

    1、安装jdk,配置环境变量:

       变量名:JAVA_HOME

       变量值:C:Program FilesJavajdk1.7.0

       变量名:CLASSPATH

       变量值:.;%JAVA_HOME%libdt.jar;%JAVA_HOME%lib ools.jar;

    2、安装python及selenium和Appium-Python-Client库

    3、安装node.js,安装完后使用node -v验证

    4、配置android环境变量:

         1>设置 ANDROID_HOME 系统变量为你的 Android SDK 路径。

           F:环境搭建eclipse+python3.4+selenium+appiumadt-bundle-windows-x86-20140702sdk

         2>把 tools 和 platform-tools 两个目录加入到系统的 Path 路径里。

        F:环境搭建eclipse+python3.4+selenium+appiumadt-bundle-windows-x86-20140702sdkplatform-tools

        F:环境搭建eclipse+python3.4+selenium+appiumadt-bundle-windows-x86-20140702sdk ools

    4、安装appium客户端

    5、配置appium环境变量:

        1> 把node_modules的bin目录放到系统的Path路径里。

        C:Program Files (x86)Appium ode_modules.bin

    6、安装完后使用appium-doctor验证,成功结果如下:

    7、打开appium,设置如下:

    Device Name可在关于手机中查看,用USB连接手机后在开发者选项开启USB调试

    8、用安卓sdk ools下自带的uiautomatorviewer工具定位元素

    9、安卓移动端QQ登录自动化测试代码如下:

    #-*- coding: UTF-8 -*-
    import os
    import time
    import unittest
    # from selenium import webdriver
    from appium import webdriver


    desired_caps={}
    desired_caps['platformName']='Android'
    desired_caps['version']='8.0.0'
    desired_caps['deviceName']='FRD-AL10'#这是测试机的型号,可以查看手机的关于本机选项获得
    # desired_caps['app'] = PATH('D:\qq.apk')#被测试的App在电脑上的位置
    desired_caps['appPackage'] = 'com.tencent.mobileqq'
    desired_caps['appActivity'] = 'com.tencent.mobileqq.activity.SplashActivity'
    driver=webdriver.Remote('http://127.0.0.1:4725/wd/hub',desired_caps)
    time.sleep(10)
    driver.find_element_by_name('登 录').click()
    name = driver.find_element_by_name('QQ号/手机号/邮箱')
    name.send_keys('254901517')
    psd = driver.find_element_by_id('password')
    psd.click()
    psd.send_keys("12345678")
    blogin=driver.find_element_by_id('login')
    blogin.click()
    time.sleep(10)

    10、获取appPackage和appActivity可参考https://blog.csdn.net/xl_lx/article/details/78717917

    运行脚本可能会出现这样的错误:selenium.common.exceptions.WebDriverException: Message: A new session could not be created. (Original error: Could not extract PIDs from ps output. PIDS: [], Procs: ["bad pid 'uiautomator'"])

    解决方法:

    修改 Appium ode_modulesappium ode_modulesappium-adblibadb.js 文件

    this.shell("ps '" + name + "'", function (err, stdout) {
    ...
    var procs = [];
    var outlines = stdout.split("
    ");
    outlines.shift() //添加这行

      

  • 相关阅读:
    Windows创建和使用IP安全策略(IPSec)
    SPOJ LCS2(Longest Common Substring II-后缀自动机向父亲更新)
    poj1125 Floyd算法
    Unity-动态显示窗口制作思路
    Unity-UI架构优化小技巧
    Unity脚本启动顺序调整方法
    Unix/Linux编程实践教程阅读笔记-终端注销代码-来自第二章P54-P57的笔记
    Unix/Linux编程实践教程阅读笔记-who指令实现的优化-来自第二章P48-P54的笔记
    Unix/Linux编程实践教程阅读笔记-who指令的实现(Mac下的实现)-来自第二章P25-P44的笔记
    Unity定制脚本模版--自动添加头部注释
  • 原文地址:https://www.cnblogs.com/szmcn/p/7090070.html
Copyright © 2020-2023  润新知