摘要:可以方便的用于功能测试兼容性测试稳定性测试及并发测试。目前已被主流浏览器厂商广泛支持,同时也是很多其它自动化测试工具比如,的底层核心技术。由简称四个工程组成是一个用于录制回放测试脚本的附加组件,录制的脚本可以生成基于的测试代码等。
Selenium是针对Web应用的开源自动化测试工具,通过编写模拟用户操作的脚本,它会打开浏览器对Web应用进行黑盒测试。可以方便的用于功能测试、兼容性测试、 稳定性测试及并发测试。目前已被主流浏览器厂商广泛支持,同时也是很多其它自动化测试工具(比如,RobotFramework)的底层核心技术。Selenium由IDE、Remote Control(简称RC)、WebDriver、Grid四个工程组成:
1、Selenium IDE
是一个用于录制/回放测试脚本的Firefox附加组件,录制的脚本可以生成基于Selenium RC的测试代码(python、Java、Ruby、C#等)。适用于快速入门,不太适用于实际较大的测试项目;
2、Selenium RC
RC由Server和Client组成两部分组成,Server负责加载/关闭浏览器以及作为HTTP代理来访问Web应用,Clinet支持多种编程语言和测试框架(TestNG、JUnit、NUnit等)。
3、Selenium WebDriver
WebDriver作为Selenium2的核心特性提供比RC更简洁易用的API,是官方推荐的RC替代方案。可以更好的支持动态网页,不需要再额外启动一个独立的Server。
4、Selenium Grid
是Selenium的一个扩展工具,可以很方便地同时在多台机器上和异构环境中并行运行多个RC或WebDriver用例。
WebDriver
启动浏览器后,selenium-webdriver会将目标浏览器绑定到特定的端口,启动后的浏览器则作为webdriver的 remote server。
客户端(也就是测试脚本),借助ComandExecutor发送HTTP请求给sever端(通信协议:The WebDriver Wire
Protocol,在HTTP request的body中,会以WebDriver Wire协议规定的JSON格式的字符串来告诉Selenium我们希望浏览器接下来做什么事情)。
Sever端需要依赖原生的浏览器组件,转化Web Service的命令为浏览器native的调用来完成操作。
得到对应元素的id,模拟手动搜索hello
from selenium import webdriverimport timedriver = webdriver.Chrome()driver.get("https://www.baidu.com/")driver.find_element_by_id("kw").send_keys("hello")driver.find_element_by_id("su").click()time.sleep(8)driver.quit()
结果
在fireFox中使用selenium IDE录制脚本?
点击start开始录制、接下来就是我们的操作?
点击右上角停止录制?
点击run播放录制?
导出录制脚本、支持多种语言
录制生成的脚本
# Generated by Selenium IDEimport pytestimport timeimport jsonfrom selenium import webdriverfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.common.action_chains import ActionChainsfrom selenium.webdriver.support import expected_conditionsfrom selenium.webdriver.support.wait import WebDriverWaitfrom selenium.webdriver.common.keys import Keysfrom selenium.webdriver.common.desired_capabilities import DesiredCapabilitiesclass TestHello(): def setup_method(self, method): self.driver = webdriver.Firefox() self.vars = {} def teardown_method(self, method): self.driver.quit() def test_hello(self): self.driver.get("https://www.baidu.com/") self.driver.set_window_size(1118, 695) self.driver.find_element(By.ID, "kw").send_keys("hello") self.driver.find_element(By.ID, "kw").send_keys(Keys.ENTER) self.driver.find_element(By.CSS_SELECTOR, ".c-gap-right-xsmall > .op-dict3-repeat").click() self.driver.find_element(By.CSS_SELECTOR, ".op-dict3-repeat-on").click() self.driver.close()
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/119155.html
摘要:对于这次的爬虫来说,由于网易云音乐以及音乐网页中大部分元素都是使用渲染生成的,因此选择使用来完成这次的脚本。可以发现网易云音乐的手机版歌单地址是。现在已经支持网易云音乐与音乐歌单的互相同步。 本文主要介绍selenium在爬虫脚本的实际应用。适合刚接触python,没使用过selenium的童鞋。(如果你是老司机路过的话,帮忙点个star吧) 项目地址 https://github.c...
摘要:概述是由有赞开发的自动化工具,并以此实现了端和端的核心业务的自动化。旨在简化开源工具提供的接口,方便自动化测试用例的设计。元素定位自动化用例其实可以分成两部分,定位元素调用接口操作该元素。一台用于跑自动化用例的服务器。 概述 Bee 是由有赞 QA 开发的 UI 自动化工具,并以此实现了 web 端和 wap 端的核心业务的自动化。旨在简化开源工具提供的接口,方便 UI 自动化测试用例...
摘要:他支持手机浏览器,也支持等语言,支持如等操作系统,是一套为自动化测试量身定制的框架,框架由多个工具组成,包括,,和,至于他们的功能和作用请大家自行百度脑补,下面将重点介绍主要功能。一、Selenium 简介 Selenium是ThroughtWorks公司一个强大的开源Web功能测试工具系列,提供一套测试函数,用于支持Web自动化测试。函数非常灵活,能够完成界面元素定位、窗口跳转、结果比...
摘要:使用在中进行了一项使用浏览器的工作在此记录下遇到的问题以及解决方法入门参考中如何安装浏览器以及参考启动浏览器时常用的属性指定浏览器分辨率谷歌文档提到需要加上这个属性来规避隐藏滚动条应对一些特殊页面不加载图片提升速度 使用python3.6在Ubuntu中进行了一项使用Chrome headless浏览器的工作, 在此记录下遇到的问题以及解决方法. 入门? 参考 unning-selen...
摘要:在上次的自动化测试系列二自动化测试系列二中为大家大体介绍了测试的概念及在猪齿鱼中的实践展开,本文主要围绕测试进行概念介绍及中的实践展开。手动测试要求测试人员在每个元素上手动执行每个测试。主要是用于回归测试和同一软件的新版本测试。 UI 测试是一种测试类型,也称为用户界面测试,通过该测试,我们...
阅读 1088·2021-11-15 18:00
阅读 2799·2021-09-22 15:18
阅读 1962·2021-09-04 16:45
阅读 748·2019-08-30 15:55
阅读 3852·2019-08-30 13:10
阅读 1330·2019-08-30 11:06
阅读 1982·2019-08-29 12:51
阅读 2293·2019-08-26 13:55