Appium+Python实现简单的自动化登录测试的实现
作者:小小渔夫 发布时间:2021-09-13 05:49:14
标签: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()
来源:https://blog.csdn.net/cx243698/article/details/86240185
0
投稿
猜你喜欢
- <!doctype html> <html> <head> <meta content="
- python中使用pip安装扩展包的时候,有时候会遇到如下类似报错:Running setup.py install for mysqlcl
- 前言声明: 以下文章所包含的结论都是基于 typeScript@4.9.4 版本所取得的。extends 是 typeScript 中的关键
- 一、python银行管理系统二、分析部分三、代码部分import randomclass bankUser: #
- 1 深分页问题1.1 创建表CREATE TABLE `player` ( `id` bigint(20) NOT NULL A
- 在mysql中查询5条不重复的数据,使用以下:SELECT * FROM `table` ORDER BY RAND() LIMIT 5就可
- 本文实例讲述了python中metaclass原理与用法。分享给大家供大家参考,具体如下:什么是 metaclass.metaclass (
- 还记得曾经被“滑稽”刷屏的场景吗?在这个各种表情包横行的时代,emoji表情还能依然占据一定的地位!这篇文章将带你了解一下,python与e
- 底部3-5个选项的底部导航栏,目前在移动端上是主流布局之一,因此腾讯官方特地做了,可以通过设置,就可以做出了一个底部的导航栏。相关教程:微信
- 1、词表映射无论是深度学习还是传统的统计机器学习方法处理自然语言,都需要先将输入的语言符号(通常为标记Token),映射为大于等于0、小于词
- 翻译:ShiningRay简介你是否知道JavaScript其实也是一个函数式编程语言呢?本指南将教你如何利用JavaScript的函数式特
- 通过学习斯坦福公开课的线性规划和梯度下降,参考他人代码自己做了测试,写了个类以后有时间再去扩展,代码注释以后再加,作业好多:import n
- 现有问题当前的项目中包括一个6200万行、500多列的表。其中的数据来自SQL Server以外,它们到达的表中有一个标识主键,所有剩下的列
- 这不是什么原创,是我跟据OReilly.JavaScript.The.Definitive.Guide.5th.Edition.Aug.20
- 移动互联网被称为“第五次科技革命”,而随着iPhone和Android等智能手机的日渐流行和iPad等平板电脑的出现,移动互联网的潜力和趋势
- 前言大家好,我叫善念。我发现我的粉丝量涨的很慢,这次厚脸皮要波关注。这次做的是一个小巧的游戏脚本,本质上它可以用于任意的电脑与手机游戏。分析
- 本文详细列出了HTML中使用到的各种鼠标事件,如onclick,onmouseover等;页面相关事件如:onerror,onload等;h
- 1。帐号和口令设置 要选择用户SYS、SYSTEM、DBSNMP、SYSMAN使用相同的口令,那就选择“所有账户使用同一口令”。 BI用户,
- Python实现AES算法密码学课程老师留的作业,我觉得用python实现更简单,就用python写了一个加解密的程序。程序分成三个部分,一
- SQL 中的运算符 1算术运算符:+:加运算,求两个数或表达式想加的和-:减运算,求两个数或表达式相减的差*,乘运算,求两个数或表