1

在 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 采样器:var login_page = JavaImporter(WebTest.BO.Login)

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

有谁知道应该在类 Login 中添加什么,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}") 问候

4

1 回答 1

0

根据脚本引擎文档,您需要:

var login = new Packages.WebTest.BO.Login

或者

importPackage(Packages.WebTest.BO.Login)

有关如何将Selenium 与 JMeter文档一起使用的更多信息。

于 2013-10-26T10:32:05.203 回答