码迷,mamicode.com
首页 > 移动开发 > 详细

Python + Appium 环境搭建

时间:2016-05-13 08:14:58      阅读:261      评论:0      收藏:0      [点我收藏+]

标签:

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

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 Files\Java\jdk1.7.0_17

 

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

 

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

 

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

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

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

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

 

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

 技术分享

 

2.3  Android 环境的搭建

技术分享 

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

例如:我解压到e盘

 技术分享

Android环境变量的配置:

 

1. 配置ANDROID_HOME

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

 技术分享

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

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

技术分享 

 

2.4  安装.NET Framework 4.6

 技术分享

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

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

2.5  安装Appium服务端

 技术分享

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

C:\Program Files (x86)\Appium

技术分享 

环境变量配置:

在path中加入 C:\Program Files (x86)\Appium\node_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:\adt\sdk\build-tools\android-4.4W 

 技术分享

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

 技术分享

3.查看 app-package 名

 技术分享

4. 查看 app-activity 活动名

 技术分享

 

第二种方法:

在 E:\adt\sdk\tools 下有个 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)
    

 

 

 

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

Python + Appium 环境搭建

标签:

原文地址:http://www.cnblogs.com/tinghai8/p/5485041.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!