这篇文章主要介绍了Appium+Python实现简单的自动化登录测试的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
前言
要想让手机app自动登录,也就是让app自己操作。所以在脚本中我们需要对app控件进行操作,那么我们需要获取控件的信息。可以使用..\android-sdk-windows\tools目录下的uiautomatorviewer.bat来获取控件相关信息
获取控件相关信息
启动uiautomatorviewer.bat
打开手机app,例如计算器,USB连接电脑,点击uiautomatorviewer左上角的安卓机器人按钮Devices Screenshot按钮刷新页面
定位元素:移动鼠标到需要定位的元素上,如数字7。右下角可以看到元素对应的属性
登录脚本实现
-
# coding=utf-8
-
__author__ = "Enoch"
-
# 这是一个app登录的测试
-
from appium import webdriver
-
from HTMLTestRunner import HTMLTestRunner
-
import unittest
-
import time
-
import warnings
-
class LoginTest(unittest.TestCase):
-
def setUp(self):
-
warnings.simplefilter("ignore", ResourceWarning)
-
desired_caps = {
-
'platformName': 'Android',
-
'deviceName': 'SGEEGEHIQ8I7CIKF',
-
'platformVersion': '6.0',
-
'appPackage': 'com.mengtuiapp.mall',
-
'appActivity': '.business.main.MainActivity'
-
}
-
self.driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
-
def testCase(self):
-
u"""登录"""
-
driver = self.driver
-
# time.sleep(2)
-
driver.find_element_by_id("bottom_nav").click()
-
time.sleep(2)
-
driver.find_element_by_name('使用其他方式登录').click()
-
driver.find_element_by_name('手机登录').click()
-
driver.find_element_by_id("username").send_keys("13100010001")
-
driver.find_element_by_name('获取验证码').send_keys("9876")
-
driver.find_element_by_id("btn").click()
-
driver.quit()
-
if __name__ == '__main__':
-
print("----------执行---------- ")
-
suite = unittest.TestSuite() # 构造测试集
-
suite.addTest(LoginTest('testCase'))
-
# 定义自动化报告目录
-
filename = "F:\\report.html"
-
fp = open(filename, 'wb')
-
runner = HTMLTestRunner(
-
stream=fp,
-
title=u'自动化测试报告',
-
description=u'这是登录测试的简单报告'
-
)
-
runner.run(suite)
-
fp.close()
行动吧,在路上总比一直观望的要好,未来的你肯定会感 谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入扣群: 320231853,里面有各种软件测试+开发资料和技术可以一起交流学习哦。
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!