设置壁纸:

#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测试爱壁纸的登录和设置壁纸的更多相关文章

  1. Appium+python测试app实例

    Appium和selenium差不到,只是一个用于测web,一个用于测APP.下面记录一下我搭的测试框架,同样是基于PO模式,用的unittest. 最后测试报告如下: 1.1      代码结构 这 ...

  2. Appium + Python 测试 QQ 音乐 APP的一段简单脚本

    1. 大致流程 + 程序(Python):打开 QQ 音乐,点击一系列接收按键,进入搜索音乐界面,输入『Paradise』,播放第一首音乐. 2. Python 脚本如下 from appium im ...

  3. Appium Python测试环境搭建

    详细参考地址:https://www.cnblogs.com/amoyshmily/p/10500687.html 1,Appium安装:https://github.com/appium/appiu ...

  4. appium+python测试app使用相对坐标定位元素

    我们获取到的是绝对坐标,如果换一个屏幕分辨率不同的手机那这个坐标自然会发生变化,要实现不同手机均能实现点击同一控件自然要用到相对坐标了,具体方法如下: 1.获取当前空间的绝对坐标(x1,y1),开启指 ...

  5. Appium环境的安装与配置,Python测试脚本测试

    Appium自动化测试系列1 - Appium环境的安装与配置 发表于4个月前(2015-01-27 14:34)   阅读(803) | 评论(0) 0人收藏此文章, 我要收藏 赞0 寻找 会’偷懒 ...

  6. Appium+python自动化(三十七)- 士兵突击许三多 - 多个appium服务启动,多个设备启动,多进程并发启动设备-并发测试 - 下(超详解)

    简介 接着上一篇继续看一下如何并发测试以及并发测试的过程中,可能遇到的问题,在这里宏哥把宏哥遇到的和小伙伴或者童鞋们,一起分享一下. Appium端口检测 问题思考 经过前面学习,我们已经能够使用py ...

  7. 利用python 下paramiko模块无密码登录

    利用python 下paramiko模块无密码登录   上次我个大家介绍了利用paramiko这个模块,可以模拟ssh登陆远程服务器,并且可以返回执行的命令结果,这次给大家介绍下如何利用已经建立的密钥 ...

  8. appium+python做移动端自动化测试

      1 导言 1.1 编制目的 该文档为选用Appium作为移动设备原生(Native).混合(Hybrid).移动Web(Mobile Web)应用UI自动化测试的相关自动化测试人员.开发人员等提供 ...

  9. Python测试 ——开发工具库

    Web UI测试自动化 splinter - web UI测试工具,基于selnium封装. selenium - web UI自动化测试. mechanize- Python中有状态的程序化Web浏 ...

随机推荐

  1. C/C++:函数的编译方式与调用约定以及extern “C”的使用

    转自:https://www.cnblogs.com/qinfengxiaoyue/archive/2013/02/04/2891908.html 函数在C++编译方式与C编译方式下的主要不同在于:由 ...

  2. 同时执行2条不同sql

    select * from  a: select *from b; 用分号结束.

  3. c++第三十一天

    p159~p164:switch语句1.例程:统计文本中五个元音字母出现的次数.(利用输入输出重定向测试) $ a <input.txt>output.txt #include <i ...

  4. 【VS Error】VS2008在编译时出现:Error 15 Cannot register assembly

    现象: 在visual studio 2008在编译类库时提示如下错误: Error 15 Cannot register assembly "D:\01_Work\02_SVN\OCRpl ...

  5. JavaScript中字符操作之大小写转换

    1.toUpperCase()   方法用于把字符串转换为大写 var str = prompt("请输入需转换大写的字符串:"); str = str.toUpperCase() ...

  6. Jquery7 表单选择器

    学习要点: 1.常规选择器 2.表单选择器 3.表单过滤器 表单作为 HTML 中一种特殊的元素,操作方法较为多样性和特殊性,开发者不但可以使用之前的常规选择器或过滤器,也可以使用 jQuery 为表 ...

  7. An Example for Javascript Function Scoping and Closure

    1. An Real World Example In the patron detail page of the CRM system I'm working with, there’re larg ...

  8. JDK、J2EE、J2SE、J2ME的区别

    JDK.J2EE.J2SE.J2ME的区别 你对JDK.J2EE.J2SE.J2ME概念是否了解,这里和大家分享一下JDK.J2EE.J2SE.J2ME的概念以及他们的关系区别,相信本文介绍一定会让你 ...

  9. Spring Boot 上传图片文件

    步骤一:基于前面springboot入门小demo 基于的springboot入门小demo,已包含了前面文章的知识点(比如:热部署.全局异常处理器). 步骤二:创建uploadPage.jsp上传页 ...

  10. 斜率优化dp学习

    用了一堂半的课才彻底搞懂.其他神犇写的博客或多或少有点小bug,所以orzzz不才斗胆重新写一个. 里面大量穿用其他神犇的原话,就不逐一标明出处了. 引用资料 Accept的博客 MathonL的博客 ...