IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> 一文3500字手把手教你基于Android系统的自动化环境搭建 -> 正文阅读

[开发测试]一文3500字手把手教你基于Android系统的自动化环境搭建

01、测试环境搭建

1.appium简介

Appium是一个开源的自动化测试框架?使用本机,混合动力 和移动web应用程序。它使iOS、Android和Windows应用程序使用WebDriver协议

官网:http://appium.io/

2.下载Appium

点击官网的Download Appium自动下载(最新版本)

其他版本:https://bitbucket.org/appium/appium.app/downloads/

百度盘下载:http://pan.baidu.com/s/1jGvAISu

3. 安装node.js

官网提示先装node.js,https://nodejs.org/en/下载node.js。选择的是Windows7(32位),下载后点击安装,默认安装就可以。

安装:

命令行安装:

  • npm install -g appium安装会比较慢,但是官方推荐使用这个

  • 前面我们下载完appium的文件,可以直接安装

  • 会提示缺少.NET Framework?,需要下载这个组件就可以,因为 Appium是由.NET 开发的,所以,它会依赖 .NET framework相关组件

  • 下载.net framework?,点击下载安装就可以

4.启动 appium

appium客户端安装成功

使用 appium:

Android Settings点击左上角的第一个机器人图标

点击Appium左上角的第二个齿轮图标则弹出?General Settings?窗口

启动 appium服务

  • 安装Android环境

  • 安装android adt & SDK

  • SDK Manager 安装模拟器

使用 Windows 命令行输入 adb 查看是否配置成功,成功后输入?appium-doctor,检查 Appium环境

如果出现“All Checks were successful”的提示,证明 appium环境配置成功。

  • 安装 python3

下载自己想要的版本,笔者的是 python3.5的版本,默认安装就行,安装成功后,将 python加入环境变量,在命令行输入?python验证 python环境是否成功。

官网:https://www.python.org/downloads/

安装成功后,使用命令行安装:

pip install Appium-Python-Client安装python的Appium库。在文件使用?from appium import webdriver成功即安装成功。

  • 下载 HTMLTestRunner.py(生成测试报告)

python3的版本:

http://download.csdn.net/detail/qq_26664581/9439036

或者 http://www.cnblogs.com/sunshishi/p/4569159.html

复制下来保存为?HTMLTestRunner.py,放在安装目录的 lib下

在文件使用?import HTMLTestRunner成功即配置成功

python语言客户端库以及 api详解(Android)

  • github:https://github.com/appium/python-client

github 已经把使用方法告诉大家,但是是英文的,可以自己整理一下。

02、元素定位(Android)

  • Uiautomatorview

  • hierarchyviewr

  • Inspector

Uiautomatorviewer安卓 sdk自带,根据个人习惯,本人以 Uiautomatorviewer为例,使用方式差不多。

案例:在手机上点开一个应用(qq 为例):

稍后点击界面上的登录后,就可以根据?Node Detail内容来定位元素

App包名:使用?APK helper查看Activiy 名称

hierarchyviewer查看

那么到此,环境搭建,api,元素定位等都有所了解,那么我们接下来就是编写脚本。下面给大家看一个脚本

from appium import webdriver    #导入webdriver

import time,unittest,HTMLTestRunner    #导入库



class Testlogin(unittest.TestCase):

def setUp(self):#初始化

     self.desired_caps={}

     self.desired_caps['platformName'] = 'Android'

     self.desired_caps['deviceName']='a6969'

     self.desired_caps['preformVersion']='5.0.2'

     self.desired_caps['appPackage'] ='com.tencent.mobileqq'

     self.desired_caps['appActivity']='.activity.SplashActivity'

     #启动 app

     self.driver=webdriver.Remote('http://localhost:4723/wd/hub', self.desired_caps)

     time.sleep(2)

def tearDown(self):#还原测试环境

     self.driver.find_element_by_id('com.tencent.mobileqq:id/conversation_head').click()

     self.driver.find_element_by_id('com.tencent.mobileqq:id/settings').click()

     self.driver.find_element_by_id('com.tencent.mobileqq:id/account_switch').click()

     self.driver.find_element_by_id('com.tencent.mobileqq:id/logoutBtn').click()

     self.driver.find_element_by_id('com.tencent.mobileqq:id/dialogRightBtn').click()

     self.driver.quit()

def testLogin1(self):#测试用例

     #登录,定位方式 id

     self.driver.find_element_by_id('com.tencent.mobileqq:id/btn_login').click()

     time.sleep(2)

     me=self.driver.find_element_by_android_uiautomator('new UiSelector().text("QQ号/手机号/邮箱")')#定位

     输入 qq号,使用 uiautomator定位

     me.clear()#输入框输入前最好先清空下

     me.send_keys('319197149')

     password=self.driver.find_element_by_id('com.tencent.mobileqq:id/password')

     password.clear()

     password.send_keys('lileilei.930423')

     self.driver.find_element_by_id('com.tencent.mobileqq:id/login').click()#点击登录

     m=self.driver.find_element_by_id('com.tencent.mobileqq:id/conversation_head')

     if m is not None:

          print('login is sucess')

     else:

          print('login is Flase')

          print(self.driver.find_element_by_id('com.tencent.mobileqq:id/dialogText').text)

if __name__ == '__main__':

     suiteTest = unittest.TestSuite()

     suiteTest.addTest(Testlogin("testLogin1"))

     now=time.strftime('%Y-%m%d',time.localtime(time.time()))

     report_dir= r'%s.html'%now

     re_open= open(report_dir,'wb')

     runner=HTMLTestRunner.HTMLTestRunner(stream=re_open,

     title='QQ测试',description='测试结果')

runner.run(suiteTest)

这是一个完整简单的测试脚本,最后生成测试报告。到此一个完整的测试就完成了

技能提升

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助…….

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2022-05-08 08:25:31  更:2022-05-08 08:26:37 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/17 22:22:25-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码