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

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 -*-

fromappium import webdriverfromselenium import webdriverfromselenium.webdriver.common.by import Byfromselenium.webdriver.support.expected_conditions import NoSuchElementException

import unittest, time, osglobaldriverclassLoginAndroidTests(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手机端编程环境_Python + Appium 环境搭建相关推荐

  1. python手机端编程环境_移动端自动化测试解决方案(Appium + Python) - (1) 环境搭建...

    最近对iOS自动化测试做了一番探究,希望通过自动化测试更好的去提高公司项目的测试效率 .在网上找了很多的文章和相关资料,都因为时间比较久导致无法实现基本环境的搭建,我在这儿分享给大家分享我的实现过程. ...

  2. python手机端游戏排行_Python学习枯燥?这几款编程手游让你边玩边学习

    CodinGame Coding Games 支持多种语言,平台的目标用户是和我一样的具备一定编程基础的人,建议大家可以尝试下.当然同时也为资深程序员提供了相应级别的进阶练习.有兴趣的朋友,可以去平台 ...

  3. python手机端自动点赞_python自动点赞功能的实现思路

    1.思路 通过pyautogui可以实现鼠标点击.滚动鼠标.截屏等操作.由此功能实现打开页面,进行点赞. aircv可以从大图像获得小图像的位置,利用pyautogui截屏得到的图片,可以在页面获取到 ...

  4. 手机端创新体验——手把手教你搭建VRAR架构

    声明:本文阿里巴巴技术论坛整理文章,首发于CSDN,未经许可,禁止任何形式的转载. 作者:袁岳峰,阿里移动平台虚拟&互动实验室负责人,GM Lab技术负责人. 责编:钱曙光,关注架构和算法领域 ...

  5. python安卓版开发环境搭建_python+appium环境搭建

    思考如何构建环境思路图 首先我们需要搞定一个环境,这里无论是appium.还是selenium还是其他的什么自动化.开发环境我们都可以按照这个思路来,首先你需要知道整个框架是做什么的?然后他的整个工作 ...

  6. python中文开发环境_Python开发环境配置

    对于刚入门的新手, Python 的环境配置可能是个障碍, 对于刚进阶的学习者则可能在环境管理, 依赖管理上遇到问题, 或者陷入纠结(比如我) 在这推荐我目前的解决方案: Python+MiniCon ...

  7. python的cgi配置教程_Python CGI环境在不同操作系统中配置方法

    我们今天主要为大家介绍的是有关Python CGI环境在不同操作系统中的配置方法.相信对于大多数开发人员来说,都急切的需要掌握这一应用技术.接下来就让我们一起来看看具体的应用方法吧. CGI 代表CO ...

  8. python语言包含的错误_Python语言环境错误:不支持的语言环境设置

    Python语言环境错误:不支持的语言环境设置 为什么在python中执行此操作时会出现以下错误: >>> import locale >>> print str( ...

  9. Android手机端编程开发软件合集(一)

    [2022-05-14链接已更新]在网上搜索了很久才找到的编程IDE高级解锁版, 在这里记录并分享一下吧! 一.合集地址: 蓝奏云:https://huanxingke.lanzoux.com/b02 ...

最新文章

  1. php连接kafka集群,Kafka集群环境配置
  2. 微软修复Windows 10周年更新KB3194496累积更新安装问题
  3. 项目实战4—HAProxy实现高级负载均衡实战和ACL控制
  4. C#比較对象的相等性
  5. 实时修改和读取webconfig
  6. 在有原来的数据的情况下,恢复数据库的数据
  7. 使用FontAwesome
  8. python提取pdf表格信息
  9. app屡次停止运行怎么解决_打桩机发动机温度过热的问题及运行中熄火怎么解决_行业新闻...
  10. springloaded热加载
  11. 物联网开发- Arduino 101/Genuino 101
  12. Extjs GRID表格组件使用小结
  13. cflow——C语言函数调用关系生成器
  14. App隐私合规辅助检测工具
  15. python环境window系统安装pyHook3
  16. Adobe Photoshop CS6 缩小图片保持不失真的最佳方案
  17. java脚本引擎parseint方法_autojs脚本引擎调用java的jsoup爬取科学网博客的指定id的好友名字...
  18. SHELL的文本处理工具
  19. iOS开发之去除图片白色背景
  20. textarea如何在展示时候显示多个空格和换行

热门文章

  1. 基于JAVA+Servlet+JSP+MYSQL的心理咨询预约管理系统
  2. 基于JAVA+SpringMVC+MYSQL的球队管理系统
  3. python字符串无效的原因_Python(60)扩展和嵌入1.使用 C 或 C++ 扩展 Python
  4. global position
  5. [CSS揭秘]伪随机背景
  6. solr 中文分词 mmseg4j 使用例子 ,NGramTokenizerFactory
  7. 错误 C2628 “Wall”后面接“int”是非法的(是否忘记了“;”?)
  8. python seaborn_Python数据分析之Seaborn(样式风格)
  9. 2、数的分解 - 2019年第十届蓝桥杯大赛软件类省赛
  10. idea安装lua插件_IntelliJ EmmyLua 1.1.9发布,IDEA的Lua插件