利用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浏 ...
随机推荐
- selenium+python—实现自动化测试基本思路
测试是一个贯穿于整个开发过程的连续过程,测试最基本的原理就是比较预期结果是否与实际执行结果相同,如果相同则测试成功,否则测试失败. 为了让单元测试代码能够被测试和维护人员更容易地理解,最好的解决办法是 ...
- rootpw密码生成方法/c-exit
linux kickstart文件里rootpw密码可以使用明文,也可以使用加密过的值,这里主要介绍下三种加密方法:md5.sha256.sha512 使用明文的方法 rootpw "pas ...
- weblogic 清除缓存
清理缓存步骤如下: 1.前置条件:停止服务 2.找到下面3个目录,然后将里面的文件删除即可: ……/user_projects/domains/base_domain/servers/AdminSer ...
- 同时执行2条不同sql
select * from a: select *from b; 用分号结束.
- MVC的局部视图传参的小技巧--见人才网头部导航
当我们设计一个局部视图时,当出现有类似导航的功能(如:选择左边的某个按钮跳到某个页,且顶部导航也作相印改变),如果我们选择把导航作为局部视图来处理,调用就可以做如下处理: @Html.RenderAc ...
- 回到HTML〇
HTML(HyperText Markup Language),用来向浏览器标示文档的所有“内容”与“结构”. 抱着温故而知新的态度,在这里通过“回到HTML”系列文章,重新梳理一下HTML的相关知识 ...
- 机器学习之线性回归(纯python实现)][转]
本文转载自:https://juejin.im/post/5a924df16fb9a0634514d6e1 机器学习之线性回归(纯python实现) 线性回归是机器学习中最基本的一个算法,大部分算法都 ...
- js 苹果手机 keyup 事件不生效的问题
$(document).on('keyup','input[name="txtInp"]',function(){}) 改 $(document).on('input proper ...
- 创建Jmeter中使用的jar包中的工具类方法
1. 在IDEA中新建一个maven工程. 2. 编写工具类方法,如加密算法.此处以加法为例. package DemoTest; public class DemoClass{ public int ...
- Git出现fatal: Unable to find remote helper for 'https'
使用Git远程获取代码 git clone https://github.com/twlkyao/findfile.git 出现“fatal: Unable to find remote helper ...