python对web的自动化测试
A. python selenium web自动化测试 元素定位 xpath
dr = webdriver.Chrome()
dr.get('https://www.sq688.com/download/11035.html')
sleep(2)
dr.find_element_by_xpath('//*[@id="openurl"]').click()
B. 用python idle编写web的自动化测试,要怎么样才能支持Chrome
通常是python使用PYQT,然后使用内嵌的WEBKIT,可以通过API和JS控制这个浏览器。 也基本够用了。
浏览器插件可以用JS代替。至于IE浏览器,只能用C++写BHO插件。 FIREFOX使用它自带的规范开发。相对容易些。其它的浏览器大多使用JS驱动就可以。比如CHROME。
C. Python有什么成熟的Web自动化测试工具
我曾经实现过web测试的自动化库,主要说一下模拟浏览器部分:
对于IE,mshtml组件+一些windows API足够了,因为IE浏览器本身就是构建在这个组件之上,用这个跟真实的浏览器行为非常一致
对于Firefox,我们的方式是写一个plug in用来跟firefox通讯,然后通过javascript完成全部操作,再辅以windows api的鼠标/键盘/外层窗口 操作
其它浏览器未涉及
但是根据我的经验,这种UI自动化测试是费力不讨好的事情:
难以做到高可靠性,因为特殊情况很多,特别是在windows上
实践经验,这种测试能测出来的bug并不多,还要花时间在写/维护/测试自动化测试脚本上面。写出的脚本可重用性也很一般,经常要写新的case,否则固定化的测试案例毫无意义。 而且对测试人员的技术能力要求直线上升。 真正UI上的bug反而多是测试人员人工做ad hoc时发现的
所以倾向于把测试重心放在底层接口以及集成部分的测试,好自动化而且收益可观+
D. web自动化测试,使用node.js 与python哪个语言更合适
Node.js是现在WEBAPP快速开发的标配。python的WEB框架还有模板很多。这个取决于你习惯什么方式开发。
如果熟悉 python使用node.js没有压力,可以完美融合。 如果对python不熟悉,node.js可以给你惊喜。
不过就我个人而言python很熟练,python给我的自由度与支撑力度远远大于node.js。 node.js是一些喜欢javascript的极客做的js的后台执行程序。 支持力度显然远远比不上有10几年WEB开发历史的python。
node.js有一个最大的好处是前端与后端的融合比较好。都是JS开发的。有利于前端人员快速开发后台服务器。
再加上node.js大量爆发的各种工具。所以node.js很有前途。 相对python的架构不温不火。
从开发速度来看。两者差不多。从系统维护性上。 python要好很多。
从最高性能上看,python也要好很多。 着名的某团队聊天软件就是node.js架构。
但是限于javascript语言本身的性能以及执行方式,支持力度。 后台开发还是不建议用node.js,除非你有足够的理由 。比如快速开发,比如缺少足够 的后台开发人员,或者是团队成员整体偏前端等。
node.js真的很适合初学者。 特别是正在学习javascript人。 不过node.js想做好就不容易,特别是团队规模超过10个人时,代码很难维护。
v8引擎很强大,大多数测试结果显示node.js比python性能高。这个感觉挺无语。 js在v8上的优化效果的的确确比python解释器要强。这是事实。 不过python如果你用得很熟练的情况下,有很多技巧可以将这些差距缩小,以至于超过,完全没有压力。
比如我这边做一个服务器,通常性能要求很高的情况下,不会使用python做前端,而是使用java+cache做后台服务器前端。 这样性能就远远超过其它的WEB后端服务器了。
python在后处理,批处理,数据处理,快速开发很强大。 WEB方面就当是玩具吧。 算是一种快速 开发的补偿。 做做胶水,连接不同系统的接口还是可以的。
E. web自动化测试,学习java语言好还是python语言好
java和Python都是非常不错的编程语言,而且应用领域都是比较广泛的。
不过就目前市场上情况来说,java因为比较普及,要求比较高,学习起来比较难一点,市场需求量没有Python高,而Python是现在比较流行的编程语言,也是人工智能、数据分析等领域的首选语言,同时Python学习起来简单、上手容易、功能强大,适合初学者,相对于java来说,Python需求量更高,就业机会比较多,薪资水平待遇都是非常高的。
F. 有没有自学python自动化测试的人,一起交流学习
自动化测试概念
自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。在此过程中,为了节省人力、时间或硬件资源,提高测试效率,便引入了自动化测试的概念。
自动化测试的学习步骤
关于自动化测试,按语言目前主要可以分为两种:一种是基于Python的自动化,一种是基于Java的自动化,具体用哪种语言,可以根据自己的实际情况而定,归根结底都是为了解决问题而存在的。
1、自动化测试的薪资
先来说一下,大家最关心的问题,也是测试的薪资
第一阶段:手工测试工程师
年薪8-10W
主要技能:测试分析+用例设计+测试执行
↓
第二阶段:自动化测试工程师
年薪15-25W
主要技能:测试脚本研发能力
↓
第三阶段:全栈自动化测试工程师
年薪30-50W
主要技能:所有类型所需自动化测试技术
↓
第四阶段:测试开发工程师
年薪50-80W
主要技能:测试框架及测试工具的需求、设计及研发能力
2、自动化测试的学习步骤
1、做好手工测试(熟悉测试基础)
2、学习编程语言(Python/Java)
3、学习Web基础
4、学习自动化测试工具
5、学习自动化测试框架
6、实现自动化测试用例
7、开发自动化测试工具
8、开发自动化测试框架
二、自动化测试如何开始?
1、测试方向:推荐Web自动化
关于"从哪个领域开始自动化测试"这个问题,我推荐从Web UI自动化开始学起,原因主要是:web UI自动化便于入门、便于理解。
2、测试工具:推荐selenium
选择好了自动化测试方向,紧接着就是选择测试工具。这里推荐Selenium,最主要原因在于:开源,用的人非常多。
Selenium通过web driver模拟人为控制浏览器进行自动化操作,目的主要是为了测试自动化web应用程序。
其实自动化就是电脑模拟人的操作,人如何做就让电脑如何做,其重点在于如何定位页面元素?如何对元素进行操作?
3、脚本语言:推荐Python
选好了测试工具,接下来是选择一门合适的脚本语言。
这里建议选择Python,原因:学习难度小,开发周期短。对目前国内大多数测试人员来说,编码经验不足,python是个很好的入门语言。胶水语言,能与C++, Java, COM, and .NET,Object-C 整合。
测试部门要做单元测试,接口测试,因为人员比例的关系,不可能让测试人员同时掌握多门语言,python可以对C/C++, Java, Object-C进行接口封装后,实现单元测试。语法简约,清晰,减少后期维护的难度。
当然,如果你有Java基础,也可以选择Java。
四、自动化核心技术点
确定了Python+Selenium方向后,接下来就是实战。(我会通过不定期直播的形式给大家具体讲解,参与方式:见文末,直播前会在群里发链接)
自动化一般需要四步操作:获取元素,操作元素,获取返回结果,断言(返回结果与期望结果是否一致),最后自动出测试报告。
Selenium提供8种元素定位的方法:id,name,class name,link text,xpath,css selector,tag name ,partial link tex
G. python能够做软件的自动化测试吗
可以,Python是可以做自动化测试的。
目前,Python自动化测试开始逐渐替代传统的软件测试,吸取了功能、性能、接口、自动化等专项测试领域的优势,以后将在多个领域渐渐成为国内大部分质量控制、质量管理的首选,而且已经有很多公司使用Python自动化测试框架。
H. 如何学习python自动化测试
目前大家对Python都有一个共识,就是他对测试非常有用,自动化测试里Python用途也很广,但是Python到底怎么进行自动化测试呢?今天就简单的向大家介绍一下怎么使用Python进行自动化测试,本文只是自己的一点点分享,若有错误,请大家多多批评指正。这里主要介绍的是一些Python测试的框架
1、单元测试
a、unittest :Python自带的单元测试框架
b、pyunit:Junit的Python版本
2、使用Pyhon进行Windows GUI测试
这部分的功能主要就是和大家平时使用的QTP类似。在Windows下我们可以使用pywinauto这个开源的框架:
http://code.google.com/p/pywinauto/
来个小例子:
app.Notepad.MenuSelect("Help->About Notepad")
app.AboutNotepad.OK.Click()
app.Notepad.Edit.TypeKeys ("pywinauto Works!", with_spaces = True)
呵呵,强大吧
3、使用Python进行Web自动化测试
使用Python进行Web自动化测试的工具有很多,这里就向大家推荐一下我比较熟悉的Selenium(Web Driver)吧。
http://seleniumhq.org
我的其他博客有关于Selenium的文章,大家可以看一下。
RF也是不错的框架啊,基于关键字驱动的
http://robotframework.org/
twill: a simple scripting language for Web browsing
http://twill.idyll.org/
4、使用Python进行性能测试
a、Python Web Performance Tool http://pywebperf.sourceforge.net/
b、Pylot
http://www.pylot.org/gettingstarted.html
c、Pymeter
http://pymeter.sourceforge.net/