appium打开qq浏览器+python 怎么操作手机浏览器

Python脚本在Appium库上对移动应用实现自动化测试
投稿:goldensun
字体:[ ] 类型:转载 时间:
这篇文章主要介绍了使用Python的Appium库对移动应用实现自动化测试的教程,属于Python脚本的一个自动化应用,需要的朋友可以参考下
&采用进行自动化的功能性测试最酷的一点是,你可以使用具有最适合你的测试工具的任何一门语言来写你的测试代码。大家选择最多的一个测试编程语言就是Python。 使用Appium和Python为iOS和Android应用编写测试代码非常容易。
在这篇博文中我们将详细讲解使用Appium下的对一个进行测试所涉及的各个步骤,而对Android应用进行测试所需的步骤与此非常类似。
开始,先自/appium/appiumfork并clone Appium,然后按照安装指南,在你的机器上安装好Appium。
我还需要安装Appium的所有依赖并对样例apps进行编译。在Appium的工作目录下运行下列命令即可完成此任务:
$ ./reset.sh --ios
编译完成后,就可以运行下面的命令启动Appium了:
$ grunt appium
现在,Appium已经运行起来了,然后就切换当前目录到sample-code/examples/python。接着使用pip命令安装所有依赖库(如果不是在虚拟环境virtualenv之下,你就需要使用sudo命令):
$ pip install -r requirements.txt
接下来运行样例测试:
$ nosetests simple.py
既然安装完所需软件并运行了测试代码,大致了解了Appium的工作过程,现在让我们进一步详细看看刚才运行的样例测试代码。该测试先是启动了样例应用,然后在几个输入框中填写了一些内容,最后对运行结果和所期望的结果进行了比对。首先,我们创建了测试类及其setUp方法:
classTestSequenceFunctions(unittest.TestCase):
defsetUp(self):
app=os.path.join(os.path.dirname(__file__),
'../../apps/TestApp/build/Release-iphonesimulator',
'TestApp.app')
app=os.path.abspath(app)
self.driver=webdriver.Remote(
command_executor='http://127.0.0.1:4723/wd/hub',
desired_capabilities={
'browserName':'iOS',
'platform':'Mac',
'version':'6.0',
'app': app
self._values=[]
“desired_capabilities”参数用来指定运行平台(iOS 6.0)以及我们想测试的应用。接下来我们还添加了一个tearDown方法,在每个测试完成后发送了退出命令:
deftearDown(self):
self.driver.quit()
最后,我们定义了用于填写form的辅助方法和主测试方法:
def_populate(self):
# populate text fields with two random number
elems=self.driver.find_elements_by_tag_name('textField')
foreleminelems:
rndNum=randint(0,10)
elem.send_keys(rndNum)
self._values.append(rndNum)
deftest_ui_computation(self):
# populate text fields with values
self._populate()
# trigger computation by using the button
buttons=self.driver.find_elements_by_tag_name("button")
buttons[0].click()
# is sum equal ?
texts=self.driver.find_elements_by_tag_name("staticText")
self.assertEqual(int(texts[0].text),self._values[0]+self._values[1])
就是这样啦!Appium的样例测试代码中还有许多Python的例子。如果你对使用Nose和Python来运行Appium测试有任何问题或看法,烦请告知。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具学习Appium_Python_Client的使用 - 木子 - ITeye技术网站
博客分类:
一、Appium_Python_Client介绍
Appium的实用方法都藏在Client的源码里,对于driver和webelement实例,均有对应的元素查找方法(webelement查找的是下面的子元素),有些儿专门针对手机的函数,则需要在这个Client安装后方可使用。
(以下内容转自:)
appium为了实现自己的find查找方式,首先自定义了一个MobileBy类,给这个类对象塞入了它定义的一些扩展属性,这些属性的值会通过webdriver协议推送到server端去识别和执行,为了让这些属性运用到find方法中,appium很好地继承和扩展了webdriver.Remote,然后通过调用driver实例的find_element和find_elements两个核心方法实现元素查找,所以,既然是扩展,appiumdriver实例可以使用seleniumdriver的所有关于元素查找的实例方法,他们的列表我们就可以整理出来了
seleniumdriver
find_element_by_idfind_elements_by_idfind_element_by_namefind_elements_by_namefind_element_by_link_textfind_elements_by_link_textfind_element_by_partial_link_textfind_elements_by_partial_link_textfind_element_by_tag_namefind_elements_by_tag_namefind_element_by_xpathfind_elements_by_xpathfind_element_by_class_namefind_elements_by_class_namefind_element_by_css_selectorfind_elements_by_css_selector
appiumdriver
find_element_by_ios_uiautomationfind_elements_by_ios_uiautomationfind_element_by_android_uiautomatorfind_elements_by_android_uiautomatorfind_element_by_accessibility_idfind_elements_by_accessibility_id
二、Appium_Python_Client的使用
安装完成后,要引用一下才可以使用。我们通常引用webdriver的时候是使用下面的命令的:
from selenium import webdriver
可是我们要使用appium_python_client中的函数,就要改成下面的引用方法:
from appium import webdriver
然后在setup()函数中再初始化driver如下:
self.driver=webdriver.Remote('http://localhost:4723/wd/hub',desired_caps)
引时便可以调用appium的专用方法了!!
Chinaperson
浏览: 90146 次
来自: 上海手把手教你appium_第一个示例日志解读
& 运行成功了appium第一个例子后,日志一阵猛吐,也不知道细节是啥情况。这下仔细看看。那堆adb命令,就自己百度吧。 & & 01.&&png:
1. 启动一个http服务器:127.0.0.1:4723 2. 根据测试代码
15:36&&&[]
,只好自己写一个例子。 & & 个人理解: Maven是为了项目管理方便的,我就一个项目,无所谓,可以不用安装; Node.js其实下载的appium里面都有,当时没注意,我不用npm安装,也可以不用; Git是版本控制的,我大不了手工粘贴一下,也可以不用; 不过我写测试程序
12:20&&&[]
/python/simple.py & 本文示例下载: 包括:自己写的一个很简单的ios例子和上面链接中提到的simple.py,和我修改后的test1.py http://download.csdn.net/detail/testingba/7200461 & 参考帖子,因为环境
11:46&&&[]
手把手教你写第一个J2ME手机程序
地址如下:
http://www.ojava.net/read.php?tid=703&fpage=1
回复讨论(解决方案)
看过,的确不错.
那图片是楼主的样子吗??
多谢支持,继续努力中
-14:59&&&[]
TAppWorkAssistV1:类名 -p: 项目所在目录 Ant build 把这个类编译成一个jar包:TAppWorkAssistV1.jar 然后把jar包push到手机上,调用执行这个类就可以了 & & 大致是这么个步骤,不过有一个非常重要的细节,就是如果你需要更省心,就最好
11:23&&&[]
本文是“编写 JavaScript 框架”系列的第二章。在本章中,我将介绍 JavaScript 中异步执行代码的几种不同方式。你会读到关于事件循环相关的内容,以及像 setTimeout 和 Promise 等时间调度(timing)技术之间的差异。
本系列主要是如何开发一个开源的客户端框架
10:08&&&[]
就是妹子们最期待的茄果叔叔手把手教学时间啦。 手抓手教学时间
使用CSS绘制线条,用到的不外乎两个属性:border & box-shadow。而形状则可以用border-radius、transform控制变形,位置则会用到绝对定位、transform、margin等属性来调整。CSS的绘图
01:59&&&[]
QQ 转载请注明:广州七彩虹SEO博客 & 手把手教你搭建一个织梦SEO网站
14:28&&&[]
编者按:今天@P大点S微博给同学们来一个新手教程,操作比较简单,主要是帮基础差的同学熟悉一下PS,素材和源文件已经打包好了,不妨来练个手。
本文为作者授权优设发布,未经作者本人授权请勿转载,谢谢 :)
PSD和素材下载请点击: /s/1dEwmYHF
04:42&&&[]
大家好,看我像不像蘑菇…因为我在学校呆的发霉了。 思而不学则殆 丽丽说得对,我有奇怪的疑问,大都是思而不学造成的,在我书读不够的情况下想太多,大多等于白想,所以革命没成功,同志仍需努力。 好了废话不说了,由于布总要做一个心电图的玩意,所以做来练练手,总之拿到的UI图如下:
做好的效果
11:07&&&[]
才没有完结呢o( ̄︶ ̄)n 。大家好,这里是番外篇。 拜读了爱哥的博客,又学到不少东西。爱哥曾经说过: 要站在巨人的丁丁上。 那么今天,我们就站在爱哥的丁丁上来学习制作一款自定义view(开个玩笑,爱哥看到别打我)。
上一篇 带领大家做了一款炫酷的loading动画view&手把手
12:13&&&[]
作者: Gang TAO 大数据时代,利用数据做决策是大数据的核心价值。 本文手把手,教你使用python进行AWS的CloudTrail配置,进行日志抓取。进行数据分析,发现数据价值! 如今是云的时代,许多公司都把自己的IT架构部署在基础架构云(IaaS)上。著名的IaaS提供商有亚马逊,微软
01:02&&&[]栏目列表推荐内容对于头发的制作, ZBrush 是多样的,前面的教程中也有讲解,可...
本系列博客有一个前提:只使用Junit编写测试,不使用类似Cucu...
Magnify膨胀笔刷是 ZBrush 笔刷中经常使用的,利用该笔刷可绘制中...
Parameters注解在测试方法上指定参数列表,然后在测试方法中声明...
有时候我们在经常登陆某些系统的时候,有时候要输入用户名,密...
骨骼,是一门基础艺术,几百年来一直为伟大的艺术大师所研究...}

我要回帖

更多关于 appium 浏览器 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信