在 WeDriver 采样器中,我想使用 JavaImporter 调用我自己的类,它将执行登录页面的测试。输入用户名和密码并输入。
like to 的用法如下: 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, "${用户名}", "${用户名}") 问候
最佳答案
根据Script Engine docs你需要:
var login = new Packages.WebTest.BO.Login
或
importPackage(Packages.WebTest.BO.Login)
有关该主题的更多信息,请参阅如何 use Selenium with JMeter文档。
关于java - JMeter 使用 JavaImported 导入定义的 JAR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19593765/