利用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浏 ...
随机推荐
- ONVIF学习-ONVIF开发框架搭建(C++)
第一步.下载gsoap 从gsoap官网(http://www.genivia.com/products.html#notice)下载最新版gsoap(博主用的是gsoap_2.8.45).gsoap ...
- mysql5.6备份
备份之前: 最初的二进制信息: mysql> show master logs; +------------------+-----------+ | Log_name | File_size ...
- 20145230熊佳炜《网络对抗》实验五:MSF基础应用
20145230熊佳炜<网络对抗>实验五:MSF基础应用 主动攻击 首先,我们需要弄一个xp sp3 English系统的虚拟机,然后本次主动攻击就在我们kali和xp之间来完成. 然后我 ...
- 广播机制的CS模型实现
广播机制的cs模型实现如下: 首先可以使用ifconfig命令查看自己所在网段的广播地址 server.c #include<stdio.h> #include<unistd.h&g ...
- git-修改远程的URL
git remote set-url命令修改remote URL git remote set-url传递两个参数 remote name.例如,origin或者upstream new remote ...
- [ARC061E]すぬけ君の地下鉄旅行 / Snuke's Subway Trip
题目大意:Snuke的城镇有地铁行驶,地铁线路图包括$N$个站点和$M$个地铁线.站点被从$1$到$N$的整数所标记,每条线路被一个公司所拥有,并且每个公司用彼此不同的整数来表示. 第$i$条线路($ ...
- 爬虫框架Scrapy之CrawlSpiders
CrawlSpiders 通过下面的命令可以快速创建 CrawlSpider模板 的代码: scrapy genspider -t crawl tencent tencent.com 上一个案例中,我 ...
- vjudge-A-这是测试你会不会语言的模拟
2017-07-14 18:13:35 writer:pprp 介绍:最基本用代码展示思想的一道题 题意如下; 他细细观察了自己的工作环境,发现整个工作室是一个N行M列的矩形布局,或者是因为屌丝的本性 ...
- harbor 管理Helm Chart包
官方网站:https://github.com/goharbor/harbor官方用户手册:https://github.com/goharbor/harbor/blob/master/docs/us ...
- C5 标准IO库:APUE 笔记
C5 :标准IO库 在第三章中,所有IO函数都是围绕文件描述符展开,文件描述符用于后续IO操作.由于文件描述符相关的操作是不带缓冲的IO,需要操作者本人指定缓冲区分配.IO长度等,对设备环境要求一定的 ...