怎么在Python3 中利用Appium实现一个自动化测试功能(appium,python3,开发技术)

时间:2024-04-29 14:13:40 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

一、安装Python3

直接登录Python官网https://www.python.org/,下载最新版本即可。

怎么在Python3 中利用Appium实现一个自动化测试功能

然后安装的时候注意一下安装路径,比如我的安装路径D:\Python37,接下来会用到这个安装路径。

二、安装Python3的Appium库

打开Python安装目录,找到Scripts文件夹,点进去,示例:

怎么在Python3 中利用Appium实现一个自动化测试功能

在地址栏上输入cmd,然后回车,打开控制台:

怎么在Python3 中利用Appium实现一个自动化测试功能

在控制台里输入命令pip install Appium-Python-Client,然后回车

怎么在Python3 中利用Appium实现一个自动化测试功能

看到下图的提示就表明安装成功了

怎么在Python3 中利用Appium实现一个自动化测试功能

三、安装Android SDK

我懒得折腾,所以就直接下载了Android Studio
下载地址
https://developer.android.com/studio/#downloads

怎么在Python3 中利用Appium实现一个自动化测试功能

下载完成开始安装

怎么在Python3 中利用Appium实现一个自动化测试功能

如果需要安装自带的模拟器,就把这一项勾选上,然后Next,接下来选择安装路径,比如我的同样放在D

怎么在Python3 中利用Appium实现一个自动化测试功能

接下来一路Next,到了选择SDK的页面注意一下

怎么在Python3 中利用Appium实现一个自动化测试功能

选择Custom,这样可以只安装自己喜欢的部分,接下来选择主题,当然这个以后可以在Android Studio里边改

怎么在Python3 中利用Appium实现一个自动化测试功能

继续Next,到达定制组件页面,如下图

怎么在Python3 中利用Appium实现一个自动化测试功能

设置一下SDK的安装路径,比如我的是D:\Android\SDK,接下来继续Next…finish。然后就进入了缓慢的下载环节,让它在这儿慢慢的下载吧,下载完成后就好了。我们可以进入下一节了。

四、安装JDK

这里我使用的是JDK8,下载地址
https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

接受协议,然后选择对应平台下载即可

怎么在Python3 中利用Appium实现一个自动化测试功能

接下来安装过程比较简单,也是一路Next,注意选择一下安装路径,比如我的安装路径D:\Java\jdk1.8

怎么在Python3 中利用Appium实现一个自动化测试功能

五、安装Appium

官网地址 http://appium.io/

怎么在Python3 中利用Appium实现一个自动化测试功能

点击下载按钮会到GitHub的下载页面,选择对应平台下载

怎么在Python3 中利用Appium实现一个自动化测试功能

Windows就选这个(快捷下载)

安装完成后,启动Appium,host和port默认的即可,然后编辑下配置信息

怎么在Python3 中利用Appium实现一个自动化测试功能
怎么在Python3 中利用Appium实现一个自动化测试功能

然后点下边那个保存并重启的按钮,然后点第一个Start Server按钮,将会看到

怎么在Python3 中利用Appium实现一个自动化测试功能

如果使用真机测试,插上手机就可以开始编写脚本测试了。但是呢,由于手边没有数据线,就采用模拟器了,所以有了下一节。

六、安装模拟器

这里使用的是夜神模拟器下载地址 https://www.yeshen.com/,之所以不用Android自带的,是因为记得多年前启动一次要好久,然后就再也没用过。
这个也没有什么好说的,也是注意一下安装路径,然后一路下一步就好了。
安装完成后要进行一下简单修改:

  • 打开安装目录,进入到bin目录(比如:D:\Nox\bin

  • 把第三节里安装好的Android SDK里的adb.exe文件(比如我的在D:\Android\SDK\platform-tools目录下)复制到该目录覆盖掉该目录已存在的adb.exe文件

  • 删掉该目录的nox_adb.exe文件,再复制一份adb.exe并重命名为nox_adb.exe

  • 启动模拟器

  • 再该目录打开控制台,执行nox_adb.exe connect 127.0.0.1:62001,然后执行adb devices,看到如下信息就表示成功了

怎么在Python3 中利用Appium实现一个自动化测试功能

在模拟器里安装测试apk文件,这里以一个计算器为例,直接将apk文件拖到模拟器里即可

怎么在Python3 中利用Appium实现一个自动化测试功能

继续在刚刚的控制台窗口里输入aapt dump badging D:\apk\com.youdao.calculator-2.0.0.apk,其中D:\apk\com.youdao.calculator-2.0.0.apk是测试apk的完整路径。

怎么在Python3 中利用Appium实现一个自动化测试功能

可以看到安装包的信息都打印出来了,记录下红框里这两个名称,待会儿写测试脚本的时候要用。
注意,如果模拟器重启了,需要执行第5步的nox_adb.exe connect 127.0.0.1:62001 七、编写测试脚本并生成测试报告

1.创建测试用例目录testcase,在该目录下创建test_app.py文件

importtimeimportunittestfromappiumimportwebdriverclassMyTests(unittest.TestCase):#测试开始前执行的方法defsetUp(self):desired_caps={'platformName':'Android',#平台名称'platformVersion':'4.4.2',#系统版本号'deviceName':'127.0.0.1:62001',#设备名称。如果是真机,在'设置->关于手机->设备名称'里查看'appPackage':'com.youdao.calculator',#apk的包名'appActivity':'com.youdao.calculator.activities.MainActivity'#activity名称}self.driver=webdriver.Remote("http://127.0.0.1:4723/wd/hub",desired_caps)#连接Appiumself.driver.implicitly_wait(8)deftest_calculator(self,t=500,n=4):"""计算器测试"""time.sleep(3)window=self.driver.get_window_size()x0=window['width']*0.8#起始x坐标x1=window['width']*0.2#终止x坐标y=window['height']*0.5#y坐标foriinrange(n):self.driver.swipe(x0,y,x1,y,t)time.sleep(1)self.driver.find_element_by_id('com.youdao.calculator:id/guide_button').click()foriinrange(6):self.driver.find_element_by_accessibility_id('MathbotEditor').click()time.sleep(1)btn_xpath='/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.support.v4.widget.DrawerLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout[2]/android.widget.LinearLayout/android.widget.LinearLayout[3]/android.view.View/android.widget.GridView/android.widget.FrameLayout[{0}]/android.widget.FrameLayout'self.driver.find_element_by_xpath(btn_xpath.format(7)).click()self.driver.find_element_by_xpath(btn_xpath.format(10)).click()self.driver.find_element_by_xpath(btn_xpath.format(8)).click()time.sleep(3)#测试结束后执行的方法deftearDown(self):self.driver.quit()

2.创建run.py文件

importosimporttimeimportunittestfromHTMLTestRunnerimportHTMLTestRunnertest_dir='./testcase'discover=unittest.defaultTestLoader.discover(start_dir='./testcase',pattern="test*.py")if__name__=="__main__":report_dir='./test_report'os.makedirs(report_dir,exist_ok=True)now=time.strftime("%Y-%m-%d%H-%M-%S")report_name='{0}/{1}.html'.format(report_dir,now)withopen(report_name,'wb')asf:runner=HTMLTestRunner(stream=f,title="测试报告",description="本测试报告内容包含超级计算器的简单测试")runner.run(discover)
 </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:怎么在Python3 中利用Appium实现一个自动化测试功能的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:如何解决360浏览器不支持jquery的问题下一篇:

22 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18