java - 如何使用 Selenium Webdriver 以移动模式打开 Chrome 浏览器以在 JMeter 中进行负载测试?

标签 java selenium-webdriver jmeter selenium-chromedriver chrome-options

我想在 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()

下面是我在JmeterBeanShell预处理器中创建的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. Since JMeter 3.1 you should be using JSR223 Test ElementsGroovy language
  2. ChromeOptions 中没有 EnableMobileEmulation 函数,您应该使用 setExperimentalOption instead

JSR223 Sampler 的示例代码:

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();

关于java - 如何使用 Selenium Webdriver 以移动模式打开 Chrome 浏览器以在 JMeter 中进行负载测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58772489/

相关文章:

java - 如何获取我在另一个对象中创建的变量

java - 通过openCV比较图片在 Selenium 中的大小不同

python - 相同的按钮,不同的文本。 Selenium python

python - 导入错误 : No module named base

http - 如何用动态值替换 JMeter 文件内容

jmeter - 如何为 JMeter 中的每个循环/线程重新计算用户定义的变量?

java - 在基准测试期间将 jconsole 连接到 tomcat

java - 如何发送/接收日期对象以 JSON 格式而不是时间戳格式?

java - 如何在 Java keystore 中导入现有的 X.509 证书和私钥以在 SSL 中使用?

java - 如何在java中搜索xml标签名称