zoukankan      html  css  js  c++  java
  • 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() //添加这行

      

  • 相关阅读:
    第十五节 css3动画之animation简单示例
    第十四节 css3动画之animation
    第十三节 css3动画之翻页动画
    第十二节 css3动画之三维X轴旋转
    第十一节 css3动画之三维Y轴旋转
    第十节 css3动画之transform斜切
    第九节 css3动画之transform旋转
    第八节 css3动画之transform缩放
    ECMAScript基本语法——⑤运算符 比较运算符
    ECMAScript基本语法——⑤运算符 赋值运算符
  • 原文地址:https://www.cnblogs.com/szmcn/p/7090070.html
Copyright © 2011-2022 走看看