• Python + Appium 环境搭建


    ---恢复内容开始---

    Appium自动化公司内部测试培训1-环境搭建

     

    课程目的

    一、Python + Appium 环境搭建

    课程内容

    1    安装前准备工作

     

    搭建环境所需要的安装文件已经下载好,从SVN上获取即可,解压,如下

      

    2   Appium环境搭建

    Appium是一个开源的,适用于原生或者移动网络和混合应用程序在 iOS 和 Android 平台上的的开源自动化测试框架。

    2.1  安装Node.js

     

    点击安装文件,下一步下一步直接安装,安装成功后,输入cmd打开windows的命令提示符,输入node -v , 可以看到node.js的版本,见截图:

     

    出现以上,表示第一步安装安装成功。

     

    2.2  安装JDK

    点击下面文件安装

     

     

    下一步下一步直接安装

    本人的安装路径是C:Program FilesJavajdk1.7.0_17

     

    安装完成后需要设置环境变量从而使编译器正常使用。右击“计算机”选择“属性”选择左边“高级系统设置”à选择上面“高级”选项卡点击右下角“环境变量”按钮。

     

    接下来弹出的对话框会出现用户变量和系统变量。用户变量对当前登录账户有效,系统变量对所有用户都有效,读者可根据需要设置。

     

    环境变量配置的方法/步骤:

    1. 在系统变量里点击新建,变量名填写JAVA_HOME,变量值填写JDK的安装路径,在这里就填写“C:Program FilesJavajdk1.7.0_17”。

    2. 在系统变量里点击新建变量名填写CLASSPATH,变量值填写“.;%JAVA_HOME%lib;%JAVA_HOME%lib ools.jar”,注意不要忘记前面的点和中间的分号。

    3. 在系统变量里找到Path变量,这是系统自带的,不用新建。双击Path,由于原来的变量值已经存在,故应在已有的变量后加上“;%JAVA_HOME%in;%JAVA_HOME%jrein”。注意前面的分号。

     

    验证的方法:在运行框中输入cmd命令,回车后输入javac,按回车出现以下画面

     

     

    2.3  Android 环境的搭建

     

    把 adt-bundle-windows-x86_64-20140702 压缩包解压,改名:adt

    例如:我解压到e盘

     

    Android环境变量的配置:

     

    1. 配置ANDROID_HOME

    “我的电脑”右键菜单--->属性--->高级--->环境变量--->系统变量-->新建.

     

    2. 在path中加入%ANDROID_HOME%platformtools;%ANDROID_HOME% ools;配置后环境变量后

    环境变量验证:cmd打开window的命令提示符,输入android -h

     

     

    2.4  安装.NET Framework 4.6

     

    双击,下一步下一步直接安装。

    备注:如果本机已经安装了,就不需要再安装。

    2.5  安装Appium服务端

     

    解压文件,双击安装文件进行默认路径安装

    C:Program Files (x86)Appium

     

    环境变量配置:

    在path中加入 C:Program Files (x86)Appium ode_modules.bin;

     

    验证:

    cmd打开命令提示符,输入appium-doctor,见截图:

     

    安装完之后,在桌面或应用程序里启动Appium服务端,点右上角里启动Appium 服务端 或者在DOS下输入appium 启动。

     

     

    2.6  安装Appium客户端

    输入cmd打开windows的命令提示符,输入

    pip install -U Appium-Python-Client

     

    备注:

    以上操作是基于已经安装python 和 pip 环境,如果是第一次就直接搭建手机端的环境,还需先安装以下几个:

    1.安装Python

     

    2.安装setuptools

     

    3. 安装pip

     

    到这里python+Appium 的环境就搭建好了。

    3   设备(手机或平板)连接电脑

    环境搭建好之后,如果需要接入真机进行测试,还需要以下几步操作:

    3.1  设备接入电脑的设置

     

     

     

    3.2  查看设备

    将手机用数据线连接到电脑,并授权USB 调试模式。查看连接的效果,在cmd 下运行命令:adb devices -l 查看UDID,如下图所示:

     

    如果有输出,就表示连接成功。

     

    3.3  查看手机或平板的packagename 和activity name

    第一种方法:

    步骤:

     

    1、从DOS切换到adt 路径下: E:adtsdkuild-toolsandroid-4.4W 

     

    2.执行  aapt dump badging {本地包完整路径}

     

    3.查看 app-package 名

     

    4. 查看 app-activity 活动名

     

     

    第二种方法:

    在 E:adtsdk ools 下有个 hierarchyviewer 文件,可以查看

     

    备注:root 过的手机或平板,这里是看不到包名和活动名。

    3.4  在DOS下启动app

    运行命令:  adb shell

    $ am start -n {包(package)名}/}.{活动(activity)名称}

    例如:   $ am start -n

     

    4   编写第一个Appium用例

     

     

     

    代码实现:

     

    # -*- coding: utf-8 -*-
    
    from appium import webdriver
    from selenium import webdriver
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support.expected_conditions import NoSuchElementException
    
    
    import unittest, time, os
    
    global driver
    
    class LoginAndroidTests(unittest.TestCase):
        def setUp(self):
            
            #初始化测试平台
            desired_caps={}
            desired_caps['platformName']='Android'
            desired_caps['platformVersion']='4.4.2'
            desired_caps['deviceName']='UE1'
            #老师平板
            desired_caps['appPackage']='com.uet.teacherspad'
            desired_caps['appActivity']='com.uet.teacherspad.activity.common.LauncherActivity'
            
            #学生平板
    #        desired_caps['appPackage']='com.uet.studentpad'        
    #        desired_caps['appActivity']='com.uet.studentpad.activity.LauncherActivity'
            
            self.driver=webdriver.Remote("http://127.0.0.1:4723/wd/hub",desired_caps)
                    
    
        def test_login(self):
            '''登录 ''' 
            
              
            time.sleep(2) 
            
            #学生登录
    #        self.driver.find_element(By.ID,'com.uet.studentpad:id/editTxt_login_username').clear()
    #        self.driver.find_element(By.ID,'com.uet.studentpad:id/editTxt_login_username').send_keys('13732650301')
    #
    #        self.driver.find_element(By.ID,'com.uet.studentpad:id/editTxt_login_password').clear()
    #        self.driver.find_element(By.ID,'com.uet.studentpad:id/editTxt_login_password').send_keys('123123')
    #        self.driver.find_element(By.ID,'com.uet.studentpad:id/btn_login_login').click()
            
            #老师登录
          
            self.driver.find_element(By.ID,'com.uet.teacherspad:id/editTxt_login_username').clear()
            self.driver.find_element(By.ID,'com.uet.teacherspad:id/editTxt_login_username').send_keys('13732650301')
            
            self.driver.find_element(By.ID,'com.uet.teacherspad:id/editTxt_login_password').clear()
            self.driver.find_element(By.ID,'com.uet.teacherspad:id/editTxt_login_password').send_keys('123123')
            time.sleep(6)
            self.driver.find_element(By.ID,'com.uet.teacherspad:id/btn_login_login').click()
            
            time.sleep(3)
            
            self.driver.find_element(By.NAME,u'课堂教学').click()
            
            time.sleep(3)
            
            self.driver.find_element(By.NAME,u'课堂练习').click()
            
            time.sleep(3)
            
    
    
        def tearDown(self):
            self.driver.quit()
    
    
    
    if __name__ == '__main__':
        
        unittest.main(verbosity=2)
        

     

     

    ---恢复内容结束---

    作者写的书: 1.《Robot Framework自动化项目最佳实战》 百度阅读地址:http://yuedu.baidu.com/ebook/9772c2d0af45b307e9719709 2.《手把手教你玩转python3接口自动化》 百度阅读地址:https://yuedu.baidu.com/ebook/2360c29c294ac850ad02de80d4d8d15abe2300b4 3.《python3+scrapy爬虫框架+redis分布式》 百度阅读地址:https://yuedu.baidu.com/ebook/0360ab7f326c1eb91a37f111f18583d049640f01
  • 相关阅读:
    团队展示
    原型设计(结对第一次)
    第二次作业——个人项目实战
    第一次作业--准备篇
    课程作业四
    课程作业三
    课程作业二
    课程作业一
    图像处理------ 一阶微分应用 (转载)
    dennis gabor 从傅里叶(Fourier)变换到伽柏(Gabor)变换再到小波(Wavelet)变换(转载)
  • 原文地址:https://www.cnblogs.com/tinghai8/p/5485041.html
Copyright © 2020-2023  润新知