为什么南极建站在2月,广东深圳旅游必去十大景点,衡阳市住房和城乡建设局官方网站,上海工商网上服务大厅什么是自动化测试
自动化测试就是#xff0c;假定一些预设值#xff0c;由机器自动化完成的测试。 web自动化测试#xff0c;将自动化测试技术艺能用到web测试中#xff0c;是假定一些预设值#xff0c;由程序驱动浏览器来完成web程序的测试#xff0c;如下图#xff1…什么是自动化测试
自动化测试就是假定一些预设值由机器自动化完成的测试。 web自动化测试将自动化测试技术艺能用到web测试中是假定一些预设值由程序驱动浏览器来完成web程序的测试如下图 Selenium web自动化测试的技术手段和框架很多这里我们主要介绍Selenium
Selenium官网 4
Selenium是一个用于Web应用程序自动化测试工具。Selenium测试直接运行在浏览器中就像用户在操作一样。
我们通常所说的Selenium是对Seleninum的总称其中包括三个项目分别是
1. Selenium WebDriver
2. Selenium IDE
3. seleninum Grid
后续相关的文章我们只关注Seleninum WebDriver
Selenium WebDriver selenium webdriver 其实就是不同语言基于实现了W3C WebDriver协议从而达到能控制浏览器的代码库它提供了简单的API接口使测试人员可以很方便的控制浏览器的各种行为。
运行自动化的几种方式 运行机理webdriver通过driver浏览器驱动将执行命令发送给浏览器同样的浏览器在执行玩命令之后通过相同的通道将信息返回给webdriver。
整体就是一个C/S架构我们的webdriver是作为客户端存在。 这种方式是Seleninum Webdriver和浏览器驱动程序和浏览器在同一台主机 当然我们也可以将webdriver独立到另外一台服务器然后通过Remote进行自动化。 远程连接我们还可以通过Seleninum Server或者Seleninum Grid来实现从而进行分布式的测试。
环境安装
Python
Selenium
浏览器驱动: 相关地址 7
简单实例
from selenium import webdriver
import timedriver webdriver.Chrome(executable_path./chromedriver)
driver.maximize_window()
driver.get(https://www.baidu.com)
driver.find_element_by_id(kw).send_keys(python)
driver.find_element_by_id(su).click()
time.sleep(2)
driver.quit() 代码分析 其实实例化driver的核心代码是这段我们可以通过IDE进入到源码中看到首先建立Service其实就是通过命令行将浏览器驱动运行起来 self.service Service( executable_path, portport, service_argsservice_args, log_pathservice_log_path) self.service.start() 服务启动后创建一个连接从而进行后续的操作 try: RemoteWebDriver.__init__( self, command_ executorChromeRemoteConnection( remote_server_addrself.service.service_url, keep_alivekeep_alive), desired_ capabilitiesdesired_capabilities) except Exception: self.quit() raise 正如我们介绍Selenium的时候说过Selenium Webdriver其实是实现了The WebDriver Wire Protocol协议而协议其实就是一些Http相关的请求具体信息我们可以在这 1查看。
下面我们通过requests来实现相同的功能首先我们需要启动Service这里我们可以使用Selenium Server来代替或者我们也可以直接运行chromedriver等浏览器驱动程序。这里我使用Selenium来完成。
首先下载selenium-server-standalone-{VERSION}.jar下载地址 1
然后启动
java -jar selenium-server-standalone-{VERSION}.jar
启动后控制台会给我们打印相关的服务地址 这个时候我们去浏览器访问一下这个地址 http://127.0.0.1:4444/wd/hub
我这里会被自动跳转到 我们点击Create Session创建成功后就会发现启动了一个浏览器 其实如果您打开了chrome的检查面板发现其实就是发送了一个Post请求相关的信息都是同协议相同那我们就以postman来调用这些接口看看效果。 在发送这些请求的时候浏览器是在做相应变化的 总结
感谢每一个认真阅读我文章的人
作为一位过来人也是希望大家少走一些弯路如果你不想再体验一次学习时找不到资料没人解答问题坚持几天便放弃的感受的话在这里我给大家分享一些自动化测试的学习资源希望能给你前进的路上带来帮助。 文档获取方式
加入我的软件测试交流群632880530免费获取~同行大佬一起学术交流每晚都有大佬直播分享技术知识点
这份文档对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴我走过了最艰难的路程希望也能帮助到你 以上均可以分享只需要你搜索vx公众号程序员雨果即可免费领取