JMeter作为性能或接口测试工具,用在UI测试上多少属于不伦不类,而Selenium WebDriver作为如今最主流的UI开源测试工具,得到许多人的认可。那么为什么有人要把JMeter与Selenium WebDriver进行结合呢?我们首先来看看Selenium是如何实现WebDriver的远程调用的吧,你会发现它和JMeter的远程调用模式有许多相通之处。
我们知道,客户端按照webdriver协议编写一段字符串,这段字符串再通过json的方式发送到浏览器端,浏览器端则使用chromedriver或firfoxdriver驱动程序启动浏览器并跟据发送过来的字符串操作浏览器进行相应的工作。实际使用中,测试脚本一般是由Selenium IDE生成,但是远程调用要通过Remote WebDriver + 浏览器驱动driver来发送和接收浏览器消息。我们想要远程驱动浏览器,就需要有程序去启动chromedriver或firfoxdriver程序。这时候就需要用到selenium-server,我们先看看windows和linux下是如何启动selenium-server的:
在cmd中执行命令:
java -Dwebdriver.chrome.driver = “/opt/chromium-browser/chromedriver.exe ” -jar selenium-server-standalone-3.3.1.jar -port 9999