我需要你帮我把与硒有关的东西连接起来。在过去的几周里,我一直在阅读Selenium文档。有selenium IDE (用于记录和重放测试的firefox扩展) Selenium RC - (selenium 1.0)。现在似乎不推荐这样做了,它使用代理HTTP服务器在多个浏览器上运行测试。Selenium Web驱动程序-(Selenium2.0)。这是现在应该用于自动化测试的最新版本。(每个浏览器都实现了Web驱动程序API),我还看到,web驱动程序与本地浏览器支持交互以实现自动化,并且不需要HTTP服务器。
然后是这个Selenium服务器。(用java编写的selenium独立服务器)与selenium服务器的交互是通过JSON有线协议进行的。(每个语言绑定调用selenium服务器通过HTTP传递JSON数据)
现在我有以下问题:
..。我有更多的问题,但需要回答以上的答案,以清除硒云在我的头脑。
发布于 2017-07-03 22:53:54
1- Selenium Server 2.0与Selenium RC兼容.版本从1.0增加到2.0主要是因为它们向服务器添加了WebDriver API。因此,SeleniumServer2.0中包含Selenium。
几个月前,他们从Selenium中删除了Selenium,这是再次增加版本号的主要因素,这次是3.0。
注意:您仍然可以在Selenium 3中使用RC (使用的遗留模块不会与Selenium Server .jar一起出现),但是由于RC是使用WebDriver而不是Selenium实现的,所以有些测试的行为可能有所不同。
2-不,JSON线协议是WebDriver协议,与WebDriver接口或API有某种联系.W3C doc 这里.JSON可以被看作是在客户机/服务器通信上下文中表示的方式,即在命令 API绑定中定义的WebDriver (例如,转到特定的WebDriver,单击一个元素,.)。
3- Selenium Server是"WebDriver服务器“。您的测试脚本可以使用与其通信,并发送"WebDriver命令“。根据测试脚本所需的功能(例如,测试脚本希望使用的浏览器),Selenium以某种方式“转发/执行”命令。
如果您指定要使用HtmlUnit无头浏览器,则Selenium将不会将命令转发到任何其他进程,而是使用与Selenium捆绑的HtmlUnitDriver来执行命令。
如果您指定要使用Chrome浏览器,则Selenium将将命令“转发”到ChromeDriver(对于Chrome,WebDriver驱动程序是一个完全独立的"WebDriver服务器“进程)。
通过这种方式,Selenium可以在测试脚本之外集中精力处理多个浏览器的所有相关负担。您可以将其配置为处理多个浏览器。
此外,您还可以让Selenium像一个网格那样运行,只需与一个端点(集线器)交谈,它将负责将测试分发到所有注册的节点。
4-是的,部分已经解释过了。如果需要,只需添加可以直接从测试脚本连接到ChromeDriver即可。
https://stackoverflow.com/questions/40276430
复制相似问题