有很多selenium的教程,你没有从头看,当你看的时候已经很难跟上作者的节奏了。现在,你有机会再从头学一次了。从今天开始,船长会从最基本的知识开始,和大家一起学selenium。能不能跟着一起就看大家了。我们是按照虫师的书《selenium2 python 自动化测试实战》写的,没错,我看了多少,就会在这里和大家分享多少。还是老规矩,不明白的可以留言,现在有五六个人加了我好友,船长也尽力给大家解决问题了。还有要谢谢@川小姐姐的赞赏,你是第一个真正赞赏的,哈哈,谢谢!

好今天我们来第一课,搭建selenium环境,只需两步:

第一步:安装python2.7

第二步:下载一个46版本的Firefox

完事。不要问为什么用2.7,也别问能不能用最新的Firefox,按着我说的做,你就省去了大量的填坑的时间。

下载了46版本的Firefox以后打开进行如下操作:

选择附加组件,搜索下载FirePath和Firebug

只要下载了这两个,定位那里基本上就可以略过了,因为这两个工具简直太特么好用了~如果你比我还懒,那你就再下载个Selenium Builder:

这个东西简直了,按着他给的写就行了,基本上连想都不用想就写完了,幸好他也不是万能的,要不然用selenium搞自动化的人就混不下去了。

准备就绪~~

什么样的项目适合selenium自动化测试?

1、任务测试明确,不会频繁变动
2、每日构建后的测试验证
3、比较频繁的回归测试
4、软件系统界面稳定,变动少
5、需要在多平台上运行的相同测试案例、组合遍历型的测试、大量的重复任务
6、软件维护周期长
7、项目进度压力不太大
8、被测软件系统开发比较规范,能够保证系统的可测试性
9、测试人员具备较强的编程能力

第9条的意思是等你学会了selenium,你就“具备较强的编程能力”了。

先给大家来个代码热热身,不懂没关系,看看就可以,selenium也就是这种东西:

需要大家自己注册账号和密码。这是和讯博客的自动发帖代码,大家可以试一试,船长亲测可用:

# coding: utf-8

from selenium import webdriver
from time import sleep driver = webdriver.Firefox()
driver.get("http://blog.hexun.com/")
driver.find_element_by_id("read_btn").click()
driver.maximize_window()
sleep(3)
# driver.find_element_by_xpath(".//*[@id='hexunMember_nologinSetup_span_display_loginBTN']/a").click()
# sleep(3)
driver.find_element_by_id("username").send_keys("你注册的账号")
driver.find_element_by_id("password").send_keys("你的密码")
driver.find_element_by_xpath(".//*[@id='login12']/div/div/div/div[3]/input").click()
sleep(3)
# 点击发送博客
driver.find_element_by_xpath(".//*[@id='login12']/div/div/div[3]/a[1]").click()
sleep(3)
curr = driver.current_window_handle
all_curr = driver.window_handles
for i in all_curr:
if i != curr:
driver.switch_to.window(i)
sleep(2)
driver.find_element_by_id("hxjy_blog_tit").send_keys(u"我的文章") driver.switch_to.frame(driver.find_element_by_xpath(".//*[@id='editorContainer']/iframe"))
sleep(2) driver.find_element_by_xpath("html/body").click() driver.find_element_by_xpath("html/body").send_keys(u"童林")
driver.switch_to.default_content()
# 页面下拉
js = "var q=document.documentElement.scrollTop=1000"
driver.execute_script(js)
driver.find_element_by_xpath(".//*[@id='hxjy_blog_label']").send_keys(u"测试")
driver.find_element_by_xpath(".//*[@id='postarticle']").click() 微信公众号关注“自动化测试实战”,和船长一起学selenium自动化测试
 

最新文章

  1. sac 文档使用
  2. 翻译:AKKA笔记 - 介绍Actors
  3. iOS中属性与成员变量的区别
  4. 构建seajs业务模块之grunt VS spm build
  5. ptmalloc2源码解析初探
  6. MUI 个推
  7. zookeeper系列之五—Leader选举算法
  8. linux使用脚本自动连接数据库
  9. 发布阿里云OSS for phpcmsV9整合教程
  10. awk处理之案例三:awk去掉不需要的文本行
  11. Codeforces 424 B Megacity【贪心】
  12. [Irving] Android 点击两次返回退出系统
  13. JavaScript高级程序设计25.pdf
  14. 无意发现vim里插入模式可以借助Alt键输入一些特殊字符
  15. 转:Jmeter以non-gui模式进行分布式测试
  16. Hackers' Crackdown UVA - 11825 (状压dp)
  17. anylogic 使用
  18. css小demo
  19. ActiveSync中的SendMail
  20. 使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(四)——对 run.py 的调整

热门文章

  1. vue2.0--vue-router路由
  2. 从SynchronizedCollection说起
  3. 如何实现蓝牙空中升级BLE OTA
  4. selenium的三种等待时间设置
  5. sina sae搭建wordpress数据库配置
  6. layui弹窗宽度固定高度自适应界面
  7. IOS-源代码管理工具(SVN)
  8. Xshell高级后门完整分析报告(ZT)
  9. CGLIB介绍与原理
  10. (MSSQL)sp_refreshview刷新视图失败及更新Table字段失败的问题解决