【问题标题】:Jmeter WebDriver Sampler How to load Firefox ProfileJmeter WebDriver Sampler 如何加载 Firefox 配置文件
【发布时间】:2016-07-19 19:01:24
【问题描述】:

我正在编写 JMeter 脚本,用于使用 WebDriver Sampler 插件对每个事件的 UI 响应时间进行采样。

我的应用程序只允许对 GUI 进行证书身份验证访问。 所以我的问题是我们可以使用 WebDriverSampler 为 Firefox 加载自定义配置文件,或者我们如何使用 WebDriver 采样器处理客户端身份验证

无论是任何浏览器(firefox/chrome/IE)等......

我试图更新Jmeter3.0/bin/system.properties下的system.properties文件 具有以下值。

#webdriver.firefox.profile=profileName

#jmeter -Dwebdriver.firefox.profile=profileName

但配置文件没有加载,我收到错误:

安全连接失败

我们有 JMeter 的 WebDriver-Sampler-Server.jar 吗??

或者我们可以用 JavaScript 处理同样的事情吗??

【问题讨论】:

  • 我在下面试过 :: var profiler=JavaImporter(org.openqa.selenium.firefox.internal.ProfilesIni) var ffprofile=JavaImporter(org.openqa.selenium.firefox.FirefoxProfile) var fdriver=JavaImporter( org.openqa.selenium.firefox.FirefoxDriver) var profile=new profiler.ProfilesIni(); var fprofile=profile.getProfile('profilName') WDS.browser = new fdriver.FirefoxDriver(fprofile);上面的配置文件正在打开,我可以访问应用程序,但 Webdriver 采样器抛出以下异常 java.net.MalformedURLException: unknown protocol: about

标签: javascript selenium jmeter jmeter-plugins webdriverjs


【解决方案1】:

您可以将您的 firefox 配置文件名称作为参数传递给 FireFoxDriver 构造函数,如下所示,然后从中创建一个 jar 文件并在 Jmeter 中引用。

ProfilesIni profile = new ProfilesIni();
FirefoxProfile myprofile = profile.getProfile("profileName");  //Pass your profilename
WebDriver driver = new FirefoxDriver(myprofile);

希望对你有帮助

【讨论】:

  • 你能告诉我步骤,因为我尝试了相同的步骤并将 jar 放在 Jmeter lib/ 目录下,但仍然面临无法加载配置文件的问题
【解决方案2】:

调查:

似乎不可能在任何浏览器上使用当前版本的 WebDriver Sampler 插件。

所以选项是:

  1. 您可以自己修补 FirefoxDriverConfig 文件以添加加载的可能性,即 Firefox 配置文件,而不是动态创建它。
  2. 您可以切换到JUnit Request 采样器,它允许直接从JMeter 执行任意JUnit 测试。有关使用 JMeter 和 JUnit 集成的详细信息,请参阅 How to Use JUnit With JMeter 文章。
  3. 您可以直接在JSR223 Sampler 中编写您的 Selenium 代码

注意:选项 2 和 3 需要在 JMeter 的类路径中存在 Selenium 和依赖库

【讨论】:

    【解决方案3】:

    要使用自定义配置文件运行 Selenium,我们需要执行以下步骤 -

    首先,我们需要在 selenium "ProfilesIni" 中实例化内置类。 借助 getProfile() 方法加载您的自定义配置文件。我们实际上是在创建自定义配置文件的克隆。 现在将此自定义配置文件分配给您的 webdriver 实例。

    // 实例化 ProfilesIni ProfilesIni firefoxprofile = new ProfilesIni();

        // Loading the custom profile;
    
        FirefoxProfile myProfile = firefoxprofile.getProfile("SeleniumBix");
    
        // Creating web driver instance
        WebDriver driver = new FirefoxDriver(myProfile);
    
        //Opening the SeleniumBix in New profile
        driver.get("http://www.seleniumbix.com");
    

    有关更多数据,您可以参考这个惊人的教程 - http://www.seleniumbix.com/#!firefox-profile-with-selenium-webdriver/cdci

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-28
      • 1970-01-01
      • 2016-11-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多