利用Appium Python测试爱壁纸的登录和设置壁纸
设置壁纸:
#coding:utf-8
#Import the common package
import os
import unittest
from appium import webdriver
from time import sleep #设置路径信息
PATH = lambda p: os.path.abspath(
os.path.join(os.path.dirname(__file__), p)
) class LoginAndroidTests(unittest.TestCase):
def setUp(self):
#初始化测试平台
desired_caps = {}
desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '4.4.2'
desired_caps['deviceName'] = '127.0.0.1:62001'
#desired_caps['app'] = 'D:\apk\爱壁纸.apk'
desired_caps['appPackage'] = 'com.lovebizhi.wallpaper'
desired_caps['appActivity'] = 'com.lovebizhi.wallpaper.WelcomeActivity'
self.driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps) def tearDown(self): self.driver.quit() def test_1(self):
#测试导航页
print("start test1...") #判断是否安装爱壁纸APP
wallpaper = self.driver.is_app_installed("com.lovebizhi.wallpaper")
if wallpaper:
#self.driver.remove_app("com.lovebizhi.wallpaper")
sleep(8)
# 点击某一壁纸图片
self.driver.find_elements_by_id("com.lovebizhi.wallpaper:id/image1")[4].click()
sleep(4)
# 点击设置壁纸
self.driver.find_element_by_id("com.lovebizhi.wallpaper:id/btSetup").click()
sleep(5)
else:
self.driver.install_app("D:\apk\爱壁纸.apk")
sleep(30) def test_2(self):
#测试导航页
print("start test2") #判断是否安装爱壁纸APP
wallpaper = self.driver.is_app_installed("com.lovebizhi.wallpaper")
#是
if wallpaper:
sleep(8)
# 点击某一壁纸图片
self.driver.find_elements_by_id("com.lovebizhi.wallpaper:id/image1")[5].click()
sleep(4)
# 点击设置壁纸
self.driver.find_element_by_id("com.lovebizhi.wallpaper:id/btSetup").click()
sleep(5)
#否,安装
else:
self.driver.install_app("D:\apk\爱壁纸.apk")
sleep(30) if __name__ == '__main__':
suite =unittest.TestLoader().loadTestsFromTestCase(LoginAndroidTests)
unittest.TextTestRunner(verbosity=2).run(suite)
爱壁纸登录:
三种:微博、QQ、爱壁纸
#coding:utf-8
#Import the common package
import os
import unittest
from appium import webdriver
from time import sleep __author__ = 'sker' #设置路径信息
PATH = lambda p: os.path.abspath(
os.path.join(os.path.dirname(__file__), p)
) class LoginAndroidTests(unittest.TestCase): """
loginMethod:登录的方法
method:传入的字符串
"""
def loginMethod(self,method):
try:
self.method = self.driver.find_element_by_class_name(method)
except Exception as e:
self._logins[method] = False
print(e)
else:
self._logins[method] = True
"""
toLoginPage:跳转到登录界面
"""
def toLoginPage(self):
#判断是否安装爱壁纸APP
wallpaper = self.driver.is_app_installed("com.lovebizhi.wallpaper")
if wallpaper:
sleep(2)
print(u"已经安装爱壁纸")
# 点击头部的菜单栏
self.driver.find_element_by_id("com.lovebizhi.wallpaper:id/logo").click()
print(u"出现隐藏的菜单栏")
sleep(2)
print(u"当前的activity是" + self.driver.current_activity)
# 点击登录头像
self.driver.find_element_by_id("com.lovebizhi.wallpaper:id/ivFace").click()
print(u"跳转到登录页面")
sleep(2)
print(u"获取控件名称")
for context in self.driver.contexts:
print(context)
sleep(2)
print(u"切入h5的webdriver控件")
self.driver.switch_to.context("WEBVIEW_com.lovebizhi.wallpaper")
sleep(2) else:
print(u"开始安装apk")
self.driver.install_app("D:\apk\爱壁纸.apk")
sleep(30) """
weiBo:微博登录
username:用户名
password:密码
"""
def weiBo(self,username,password):
if(self._logins["weibo"]):
self.method.click()
print(u"进入通过微博登录")
sleep(5)
print(u"输入用户名和密码")
self._username = self.driver.find_element_by_id("userId")
self._username.send_keys(username)
self._pwd = self.driver.find_element_by_id("passwd")
self._pwd.send_keys(password)
sleep(2)
print(u"点击登录")
self.driver.find_element_by_class_name("btnP").click()
sleep(5)
else:
print(u"无法用微博登录") """
QQ:QQ登录
username:用户名
password:密码
"""
def QQ(self, username, password):
if(self._logins["tencent"]):
self.method.click()
print(u"进入通过QQ登录")
sleep(6)
print(u"输入用户名和密码")
self._username = self.driver.find_element_by_id("u")
self._username.send_keys(username)
self._pwd = self.driver.find_element_by_id("p")
self._pwd.send_keys(password)
sleep(2)
print(u"点击登录")
self.driver.find_element_by_id("go").click()
sleep(5)
else:
print(u"无法用QQ登录") """
paper:爱壁纸登录
username:用户名
password:密码
"""
def paper(self,username,password):
if(self._logins["lovebizhi"]):
self.method.click()
print(u"进入通过爱壁纸登录")
sleep(6)
print(u"输入用户名和密码")
self._username = self.driver.find_element_by_id("user")
self._username.send_keys(username)
self._pwd = self.driver.find_element_by_id("pass")
self._pwd.send_keys(password)
sleep(2)
print(u"点击登录")
self.driver.find_element_by_id("login").click()
sleep(5)
else:
print(u"无法用QQ登录") def setUp(self):
#初始化测试平台
desired_caps = {}
desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '4.4.2'
desired_caps['deviceName'] = '127.0.0.1:62001'
#desired_caps['app'] = 'D:\apk\爱壁纸.apk'
desired_caps['appPackage'] = 'com.lovebizhi.wallpaper'
desired_caps['appActivity'] = 'com.lovebizhi.wallpaper.WelcomeActivity'
self.driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
#三种登录的方法,默认选中的都为False
self._logins = {"weibo":False,"tencent":False,"lovebizhi":False}
#跳转到登录界面
self.toLoginPage(); def tearDown(self): self.driver.quit() def test_weibo1(self):
self.loginMethod("weibo")
self.weiBo("admin","")
sleep(4)
self.assertEqual(u"admin",self.driver.find_element_by_class_name("logins_a_em").text)
sleep(2) def test_QQ1(self):
self.loginMethod("tencent")
self.QQ("admin","")
sleep(4)
self.assertEqual(u"admin",self.driver.find_element_by_id("name").value)
sleep(2) def test_paper1(self):
self.loginMethod("lovebizhi")
self.paper("admin","")
sleep(4) if __name__ == '__main__':
suite =unittest.TestLoader().loadTestsFromTestCase(LoginAndroidTests)
unittest.TextTestRunner(verbosity=2).run(suite)
利用Appium Python测试爱壁纸的登录和设置壁纸的更多相关文章
- Appium+python测试app实例
Appium和selenium差不到,只是一个用于测web,一个用于测APP.下面记录一下我搭的测试框架,同样是基于PO模式,用的unittest. 最后测试报告如下: 1.1 代码结构 这 ...
- Appium + Python 测试 QQ 音乐 APP的一段简单脚本
1. 大致流程 + 程序(Python):打开 QQ 音乐,点击一系列接收按键,进入搜索音乐界面,输入『Paradise』,播放第一首音乐. 2. Python 脚本如下 from appium im ...
- Appium Python测试环境搭建
详细参考地址:https://www.cnblogs.com/amoyshmily/p/10500687.html 1,Appium安装:https://github.com/appium/appiu ...
- appium+python测试app使用相对坐标定位元素
我们获取到的是绝对坐标,如果换一个屏幕分辨率不同的手机那这个坐标自然会发生变化,要实现不同手机均能实现点击同一控件自然要用到相对坐标了,具体方法如下: 1.获取当前空间的绝对坐标(x1,y1),开启指 ...
- Appium环境的安装与配置,Python测试脚本测试
Appium自动化测试系列1 - Appium环境的安装与配置 发表于4个月前(2015-01-27 14:34) 阅读(803) | 评论(0) 0人收藏此文章, 我要收藏 赞0 寻找 会’偷懒 ...
- Appium+python自动化(三十七)- 士兵突击许三多 - 多个appium服务启动,多个设备启动,多进程并发启动设备-并发测试 - 下(超详解)
简介 接着上一篇继续看一下如何并发测试以及并发测试的过程中,可能遇到的问题,在这里宏哥把宏哥遇到的和小伙伴或者童鞋们,一起分享一下. Appium端口检测 问题思考 经过前面学习,我们已经能够使用py ...
- 利用python 下paramiko模块无密码登录
利用python 下paramiko模块无密码登录 上次我个大家介绍了利用paramiko这个模块,可以模拟ssh登陆远程服务器,并且可以返回执行的命令结果,这次给大家介绍下如何利用已经建立的密钥 ...
- appium+python做移动端自动化测试
1 导言 1.1 编制目的 该文档为选用Appium作为移动设备原生(Native).混合(Hybrid).移动Web(Mobile Web)应用UI自动化测试的相关自动化测试人员.开发人员等提供 ...
- Python测试 ——开发工具库
Web UI测试自动化 splinter - web UI测试工具,基于selnium封装. selenium - web UI自动化测试. mechanize- Python中有状态的程序化Web浏 ...
随机推荐
- 重命名文件或文件夹(mv命令与rename命令)
在Linux下重命名文件或目录,可以使用mv命令或rename命令,这里分享下二者的使用方法. mv命令既可以重命名,又可以移动文件或文件夹. 例子:将目录A重命名为B mv A B 例子:将/a目录 ...
- MongoDB使用中的一些问题
1.count统计结果错误 这是由于分布式集群正在迁移数据,它导致count结果值错误,需要使用aggregate pipeline来得到正确统计结果,例如: db.collection.aggreg ...
- jquery阻止事件冒泡的方法
$("table tbody").click(function(e) { e.preventDefault(); //阻止自身的事件,并不能阻止冒泡 e.stopPropagati ...
- 【纯代码】Swift-自定义PickerView单选(可修改分割线颜色、修改字体大小、修改字体颜色。)(可根据需要自己扩展)
typealias PopPickerViewCallBackClosure = (_ resultStr:NSString?) -> () class PopPickerView : UIVi ...
- SpringBoot 打包为Docker进行
可以有两种方式: 1.dockerfile 2.maven docker 第一种方式:通过dockerfile打包Docker镜像 1.将dockerfile和 springboot打包的jar文件放 ...
- SpringMVC,针对不支持PUT、DELETE提交的游览器处理方式
在REST服务中必不可少的需要PUT.DELETE提交,但是目前很多的游览器并不支持.所以在使用REST前需要进行一些额外的处理. 具体解决方案如下: 1,先添加一个filter.这个filter就是 ...
- Leetcode——Third Maximum Number
Question Given a non-empty array of integers, return the third maximum number in this array. If it d ...
- [Network Architecture]Mask R-CNN论文解析(转)
前言 最近有一个idea需要去验证,比较忙,看完Mask R-CNN论文了,最近会去研究Mask R-CNN的代码,论文解析转载网上的两篇博客 技术挖掘者 remanented 文章1 论文题目:Ma ...
- ubuntu16.04 python3.5 opencv的安装与卸载(转载)
转载https://blog.csdn.net/qq_37541097/article/details/79045595 Ubuntu16.04 自带python2.7和python3.5两个版本,默 ...
- 「SSH 黑魔法」: 代理、端口转发和 shell 共享
在好朋友的推荐下,我看了这个视频: The Black Magic Of SSH 这个视频里面,介绍了 ssh 的一些高级应用:结合工作的经历,两类问题会对我们平时的工作帮助很大: 1. 两个人怎么 ...