我想在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);
}
}
- 由于JMeter 3.1,您应该使用JSR223测试元素和Groovy语言
- 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();