天行科技

selenium自动化测试有意思的代码

自动化 2024-06-28 17:46:55 浏览:3260 分享
还可以输入1000字

全部回答(1)

最佳回答

怎样开始用selenium进行自动化测试?作为一个以前从未接触过Selenium的初学者,如果你以前有过编写代码的经验,你会学得更快!但无论怎样,万事开头难!
我也是从一个近乎纯粹的24K初学者成长起来的,一步一步,我学到了很多新的知识,取得了新的突破,不断的努力,不断的总结经验,才把我带到了今天,也是未来的路还很长!没有回头路,我的测试之路!
那么,今天我就花时间来回顾一下我的selenium学习过程,即如何开始自动化selenium测试。 这些是我的个人经历,我将其分享给大家参考。
一开始,很多人开始用seleniumIDE录制脚本,我也是!有一本非常好的书:SeleniumBeginner'sGuide!于是我就从录音和播放开始了我的selenium,在这个过程中我不断的补充了我的htmlcss知识并了解了selenium的API!
慢慢发现录制的脚本在播放时经常报错。 通过检查,发现是tigerUIexj之类的定位错误……HTML中很多标签都是动态的,比如id、class、name!这对于密封件的操作定位元件的自动化来说是致命的损坏!
所以有必要开始自己写位置信息了!由此,我学习了xpth和css选择器,掌握了如何更高效、快速、稳定的在页面上放置元素(定位时难免会遇到iframe,所以定位前需要切换到iframe)!也就是在seleniumIDE上写脚本!
我满怀信心地在seleniumIDE上写了一个很长的脚本,并且可以反复运行成功!终于尝到一点幸福的滋味了!那么问题来了,当我想修改扩展这个脚本时,发现效率相当低!逐句核对!换一句话!痛苦的领悟!
另外,seleniumIDE默认启动Firefox,当你使用seleniumRC启动IE运行脚本时,浏览器总是会报错。 各种不确定,各种不平静!决定放弃使用IDE!
selenium的强大功能之一就是支持多种语言:java、C#、python等,并且可以将录制的脚本转换为代码!我正在使用java,所以让我们开始吧!
不用说,当然我将脚本转换为Java代码并在Eclipse中重新启动!
选择测试框架:有两个选择:Junit和TestNg公司使用的是junit,所以不用说,我会使用junit来验证selenium脚本的执行结果。 而且Junit和TestNG都可以生成比较直观的测试报告!
写完一些代码后,您会发现整个代码紧密地包含着几乎相同的代码:开始封装代码!封装常用的API!封装之后,代码看起来舒服多了!
我们是不是也应该把代码中的定位信息放在一个专门的文件中,然后读取其中的定位信息。 这样维护代码和维护定位信息就放在两个地方,老是卡在代码和定位路径上,分层就好了!一定要尝试一下!
至此,脚本写好了,常用的API也封装好了,定位路径也分离出来了!整个代码就简单多了!写起来更容易、更舒服!此时,是时候定制您自己的框架了。 我暂时不会写下来。 我们距离如何启动安全带还很遥远。 至此,您可能已经对测试框架以及如何设计脚本有了自己的想法。 。 。 。 加油,把你的想法化为实际动力,不断前行!

如何在linux命令行无界面下,使用selenium进行自动化测试设置方法:
1安装Xvfb和pyvirtualdisplay
yuminstallxorg-x11-server-Xvfb
pipinstallpyvirtualdisplay
2..安装firefox和selenium
yuminstallfirefox
pipinstallselenium
转到这里。 环境已经配置完毕。 接下来,您可以开始编码。
3代码示例
ngarompyvirtualdisplayimportDisplay
fromseleniumimportwebdriver
display=Display(visible=0,size=(900,800).)
display.start()
driver=webdriver.Firefox()
driver.get('http://www.haosou.com')
printdriver.title
driver.quit()
display.stop()

2