0

我想在 Chrome 浏览器中打开一个 URL,但在 JMeter 中进行负载测试期间以移动模式打开。我正在使用 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()

下面是我在BeanShellPreprocessor 中创建的 Java 类,Jmeter用于使用 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);
    }
}
4

1 回答 1

0
  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();
于 2019-11-12T10:30:13.533 回答