使用python selenium实现自动化测试框架及数据爬虫

python selenium


这次咱们讲讲selenium 自动化web测试

Selenium 及其实现原理

Selenium 的主要功能包括:

1)测试与浏览器的兼容性:测试应用程序能否兼容工作在不同浏览器和操作系统之上。

2)测试系统功能:录制用例自动生成测试脚本,用于回归功能测试或者系统用例说明。

简而言之,Selenium 就是一款可以录制用户操作,帮助 Web 测试人员简化重复劳动的工具。


上面的话,很官方:

现在说说,对于我来说能干啥?


第一点是爬数据,因为很多的网站的接口不好找,甚至经过他们的加密.这样的时候, 咱们爬数据就不好搞了. 前提是需求不大,毕竟selenium的消耗还是很大的.

第二点是解除繁琐的操作,如果对方没有给你接口,那你就干他 ? 要不就手动操作?

以和为贵嘛... 可以用用selenium 搞搞....

第三点是真的测试了,咱们可以把要做的事情给录制下,搞定规则后,让他自己去运行,咱们就光看就行了. 边看边喝可乐... 真是爽歪歪



这里简单说下web测试的基本流程。

我们启动浏览器,打开一个网页,做一些事,包括点某个链接,按钮,图片,或者填写一个表单然后提交,然后检查一下结果是否正确,最后看一下是不是有些数据要清理掉以便下次测试。

总结一下一个测试的流程大致如下:

准备(启动浏览器)-》载入测试页-》完成动作流-》验证结果-》测试清理(关闭浏览器,删除某些数据)

我们写Selenium测试的时候也事一样的步骤。

这些行为用selenium都可以实现的!


安装比较简单:


pip install selenium


浏览器支持好多,ie firefox chrome...

默认不支持 chrome的,需要安装 chrome的调用驱动

chrome 驱动下载
http://chromedriver.storage.googleapis.com/index.html


这里测试的是自动打开 xiaoruicc !

100020610.png




101413524.png


这里测试的是自动打开阿里测的界面,然后输入qq.com然后继续点击.

101204783.png


自动登陆163邮箱,然后点开收件箱 ~


#coding:utf-8
import sys
from selenium import webdriver
url = "http://" + sys.argv[1]
driver = webdriver.Chrome()
driver.get(url)
#type the username
element = driver.find_element_by_id("idInput")
element.send_keys('')
element = driver.find_element_by_id("pwdInput")
element.send_keys('')
element = driver.find_element_by_id("loginBtn")
#element = driver.find_element_by_link_text('登陆')
element.click()
element = driver.find_element_by_id("_mail_component_2_2")
element.click()
#type the password
#element.submit()
navigationStart = driver.execute_script("return window.performance.timing.navigationStart")
responseStart = driver.execute_script("return window.performance.timing.responseStart")
domComplete = driver.execute_script("return window.performance.timing.domComplete")
backendPerformance = responseStart - navigationStart
frontendPerformance = domComplete - responseStart
print "WebPage: %s" % url
print " Back End: %s" % backendPerformance
print " Front End: %s" % frontendPerformance
#driver.quit()


134428792.png

134644452.png



selenium 有很多很多的功能,大家自己看官方文档吧.... 有问题提出来,咱们一块搞~

本文出自 “峰云,就她了。” 博客,谢绝转载!

你可能感兴趣的:(python,python,python,爬虫,python,单元测试,selenium,selenium,自动化测试)