JMeter与JavaImported导入定义的JAR

时间:2013-10-25 15:22:33

标签: java jar webdriver jmeter

在WeDriver采样器中,我想使用JavaImporter来调用我自己的类,它将执行登录页面的测试。插入用户名和密码,然后输入。

喜欢以这种方式使用: var pkg = JavaImporter(org.openqa.selenium,org.openqa.selenium.support.ui) var support_ui = JavaImporter(org.openqa.selenium.support.ui.WebDriverWait)

我已经创建了类文件并使用eclipse帮助创建了jar文件。类只会更新网页上的值(用户名和密码)。 从eclipse创建了一个jar文件,导入到eclipse项目中以检查jar文件是否正确。我可以浏览类并将类导入新的java文件。

将JAR文件复制到JmeterPATH / lib / ext中,打开JMeter并使用以下命令更新测试webdriver sampler: var login_page = JavaImporter(WebTest.BO.Login)

Jmeter返回: 响应消息:javax.script.ScriptException:sun.org.mozilla.javascript.internal.EcmaError:ReferenceError:未定义“WebTest”。 (#3)在第3行

有没有人知道什么应该添加到类登录中,JMeter将正常工作并将识别包WebTest.BO.Login(因为它在eclipse中被识别)

在JMeter中,我还添加了Testplan JAR文件。

非常感谢您的支持。

这是一个类的代码 包WebTest.BO.Login;

import java.util.List;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;


public class LogIn_Page {
private WebDriver driver;   
public void Login(WebDriver driver, String username, String password)   throws Exception {

   this.driver = driver;
   WebDriverWait webwait = new WebDriverWait(driver, 30);

   WebElement UserName = driver.findElement(By.xpath("//input[@id='UserName']"));
   UserName.sendKeys(username);

   WebElement Password = driver.findElement(By.xpath("//input[@id='Password']"));
   Password.sendKeys(password);

   WebElement loginBtn =  driver.findElement(By.xpath("//input[@id='loginBtn']"));
   loginBtn.click();

}

Jmeter中的已解决代码:

importPackage(Packages.WebTest.BO.Login)

var login_page = new LogIn_Page()

var support_ec = JavaImporter(org.openqa.selenium.support.ui)
var timeunit =   JavaImporter(java.util.concurrent);
var wait = new support_ui.WebDriverWait(WDS.browser, 30)


WDS.sampleResult.sampleStart()

WDS.browser.get("${server}")

login_page.Login(WDS.browser,“$ {username}”,“$ {username}”) 此致

1 个答案:

答案 0 :(得分:0)

根据Script Engine docs,你需要:

var login = new Packages.WebTest.BO.Login

importPackage(Packages.WebTest.BO.Login)

有关如何use Selenium with JMeter文档的主题的更多信息。