Selenium 内部机制

3

selenium是什么?你能解释一下它的内部工作原理吗?


您能说明您的问题吗?您具体在寻找什么?它的架构是如何组成的?它是如何管理在任何网页上执行通用任务的? - Alex Weinstein
正如Alex所说,请澄清您想要了解的具体内容。是关于架构,它如何与浏览器通信,还是它如何在任何Web元素上执行任何操作等等... - Shubhasmit Gupta
4个回答

5

首先有一层JavaScript代码,用于自动化浏览器并模拟事件、运行和验证测试。接下来,您运行一个代理服务器 - 将您的浏览器指向该服务器 - 该服务器注入此JavaScript代码。然后,您可以通过另一个端口与此代理服务器通信,使用一组命令使代理服务器注入JavaScript代码以在正在运行的浏览器上运行(或远程控制)。使用这个框架,您可以编写自动化测试脚本,其风格非常像为浏览器编写宏。


我认为如果您使用的是Selenium 2,情况可能会有所不同。http://seleniumhq.org/docs/03_webdriver.html#the-selenium-server-when-to-use-it - Sam Backus
RC现在已经过时了,因为所有这些JavaScript应用程序/浏览器的注入都会导致行为不同,这就是为什么出现了Selenium 2.0或Webdriver的原因。 - Shubhasmit Gupta

3

0

基本上,它的工作原理是遵循以下原则。首先,在驱动程序启动的浏览器中搜索您在定位器中指定的元素,通过在HTML文档中查找该元素来完成。在找到元素后,获取对象的位置。在获取位置后,使用ROBOT类方法,如MOUSECLICK MOUSE Move等,在这些位置上执行操作。希望这能够正常工作 :-)


0

I) 如果是Selenium RC,那么流程将是:


  1. 您的脚本到达了Selenium服务器(该服务器在特定端口上启动)
  2. 在服务器上,脚本将被转换为“JavaScript”(所有浏览器都能理解)
  3. 然后它到达浏览器并根据脚本进行进一步的操作(例如输入、点击等)。如果找不到元素,则会抛出异常。 :)

II) 如果是Selenium WebDriver,则过程如下:


  1. 与上述过程不同,脚本将直接与指定的浏览器进行交互(使用浏览器API)-> 然后执行进一步的操作。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接