python手机端编程环境_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 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 环境搭建相关推荐
- python手机端编程环境_移动端自动化测试解决方案(Appium + Python) - (1) 环境搭建...
最近对iOS自动化测试做了一番探究,希望通过自动化测试更好的去提高公司项目的测试效率 .在网上找了很多的文章和相关资料,都因为时间比较久导致无法实现基本环境的搭建,我在这儿分享给大家分享我的实现过程. ...
- python手机端游戏排行_Python学习枯燥?这几款编程手游让你边玩边学习
CodinGame Coding Games 支持多种语言,平台的目标用户是和我一样的具备一定编程基础的人,建议大家可以尝试下.当然同时也为资深程序员提供了相应级别的进阶练习.有兴趣的朋友,可以去平台 ...
- python手机端自动点赞_python自动点赞功能的实现思路
1.思路 通过pyautogui可以实现鼠标点击.滚动鼠标.截屏等操作.由此功能实现打开页面,进行点赞. aircv可以从大图像获得小图像的位置,利用pyautogui截屏得到的图片,可以在页面获取到 ...
- 手机端创新体验——手把手教你搭建VRAR架构
声明:本文阿里巴巴技术论坛整理文章,首发于CSDN,未经许可,禁止任何形式的转载. 作者:袁岳峰,阿里移动平台虚拟&互动实验室负责人,GM Lab技术负责人. 责编:钱曙光,关注架构和算法领域 ...
- python安卓版开发环境搭建_python+appium环境搭建
思考如何构建环境思路图 首先我们需要搞定一个环境,这里无论是appium.还是selenium还是其他的什么自动化.开发环境我们都可以按照这个思路来,首先你需要知道整个框架是做什么的?然后他的整个工作 ...
- python中文开发环境_Python开发环境配置
对于刚入门的新手, Python 的环境配置可能是个障碍, 对于刚进阶的学习者则可能在环境管理, 依赖管理上遇到问题, 或者陷入纠结(比如我) 在这推荐我目前的解决方案: Python+MiniCon ...
- python的cgi配置教程_Python CGI环境在不同操作系统中配置方法
我们今天主要为大家介绍的是有关Python CGI环境在不同操作系统中的配置方法.相信对于大多数开发人员来说,都急切的需要掌握这一应用技术.接下来就让我们一起来看看具体的应用方法吧. CGI 代表CO ...
- python语言包含的错误_Python语言环境错误:不支持的语言环境设置
Python语言环境错误:不支持的语言环境设置 为什么在python中执行此操作时会出现以下错误: >>> import locale >>> print str( ...
- Android手机端编程开发软件合集(一)
[2022-05-14链接已更新]在网上搜索了很久才找到的编程IDE高级解锁版, 在这里记录并分享一下吧! 一.合集地址: 蓝奏云:https://huanxingke.lanzoux.com/b02 ...
最新文章
- php连接kafka集群,Kafka集群环境配置
- 微软修复Windows 10周年更新KB3194496累积更新安装问题
- 项目实战4—HAProxy实现高级负载均衡实战和ACL控制
- C#比較对象的相等性
- 实时修改和读取webconfig
- 在有原来的数据的情况下,恢复数据库的数据
- 使用FontAwesome
- python提取pdf表格信息
- app屡次停止运行怎么解决_打桩机发动机温度过热的问题及运行中熄火怎么解决_行业新闻...
- springloaded热加载
- 物联网开发- Arduino 101/Genuino 101
- Extjs GRID表格组件使用小结
- cflow——C语言函数调用关系生成器
- App隐私合规辅助检测工具
- python环境window系统安装pyHook3
- Adobe Photoshop CS6 缩小图片保持不失真的最佳方案
- java脚本引擎parseint方法_autojs脚本引擎调用java的jsoup爬取科学网博客的指定id的好友名字...
- SHELL的文本处理工具
- iOS开发之去除图片白色背景
- textarea如何在展示时候显示多个空格和换行
热门文章
- 基于JAVA+Servlet+JSP+MYSQL的心理咨询预约管理系统
- 基于JAVA+SpringMVC+MYSQL的球队管理系统
- python字符串无效的原因_Python(60)扩展和嵌入1.使用 C 或 C++ 扩展 Python
- global position
- [CSS揭秘]伪随机背景
- solr 中文分词 mmseg4j 使用例子 ,NGramTokenizerFactory
- 错误	C2628	“Wall”后面接“int”是非法的(是否忘记了“;”?)
- python seaborn_Python数据分析之Seaborn(样式风格)
- 2、数的分解 - 2019年第十届蓝桥杯大赛软件类省赛
- idea安装lua插件_IntelliJ EmmyLua 1.1.9发布,IDEA的Lua插件