如何在JMeter中使用Selenium网络驱动程序在移动模式下打开Chrome浏览器进行负载测试



我想在Chrome浏览器中打开一个URL,但在JMeter中进行负载测试时处于移动模式。我正在使用Selenium脚本。下面是我的Selenium脚本

var pkg = JavaImporter(org.openqa.selenium,org.openqa.selenium.support.ui) // Import Java Selenium packages
var Thr = JavaImporter(java.lang.Thread) // Import Thread sleep packages
var wait = new pkg.WebDriverWait(WDS.browser,30) // Import WebDriverWait Package
WDS.sampleResult.sampleStart()
WDS.browser.get('https://xyz=${__urlencode(${token})}');
WDS.sampleResult.sampleEnd()

以下是我在Jmeter中的BeanShell预处理器中创建的Java类,用于使用Chromeoptions在移动模式下打开Chrome,但我不知道如何在上面的webdriver中调用它,我做得是否正确:

public class page {
public static void main (String args[]) {
String device = "Samsung Galaxy S4";
//options.ChromeOptions options = new ChromeOptions();
ChromeOptions options = new ChromeOptions();
options.EnableMobileEmulation(device);
IWebDriver driver = new ChromeDriver(options);
}
}
  1. 由于JMeter 3.1,您应该使用JSR223测试元素和Groovy语言
  2. ChromeOptions中没有EnableMobileEmulation函数,您应该使用setExperimentalOption

JSR223采样器的示例代码:

import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.chrome.ChromeDriver;
System.setProperty("webdriver.chrome.driver", "/path/to/chromedriver.exe");
Map<String, String> mobileEmulation = new HashMap<>();
mobileEmulation.put("deviceName", "Galaxy S5");
ChromeOptions options = new ChromeOptions();
options.setExperimentalOption("mobileEmulation", mobileEmulation);
ChromeDriver driver = new ChromeDriver(options)
driver.get("http://example.com");
log.info(driver.getTitle());
driver.quit();

相关内容

  • 没有找到相关文章

最新更新