当前位置: 首页 > 知识库问答 >
问题:

带有JavaImported导入定义的JAR的JMeter

公羊雅达
2023-03-14

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

like to是这样使用的:var pkg=JavaImport(org.openqa.selenium,org.openqa.selenium.support.ui)varsupport_ui=JavaImport(org.openqa.selenium.support.ui.WebDriverWait)

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

JAR文件被复制到JmeterPATH/lib/ext中,打开JMeter并更新测试网络驱动程序采样器:varlogin_page=JavaImport(WebTest.BO.Login)

Jmeter返回:响应消息:javax . script . script exception:sun . org . Mozilla . JavaScript . internal . ECMA error:reference error:“WebTest”未定义。(#3)在第3行

有谁知道应该添加到类登录中,JMeter将正常工作,并将识别软件包WebTest.BO.Login(因为它在日食中被识别)

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

}

Jeter中解决的代码:

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个答案

万俟旭
2023-03-14

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

< code>var login =新包。WebTest.BO.Login

导入包(Packages.WebTest.BO.Login)

关于如何在JMeter文档中使用Selenium的更多信息。

 类似资料:
  • 我目前正在尝试将Lambda作为Zappa(Python3.6)发布。在AWS端部署应用程序/配置所有内容后,我运行以下命令在本地环境中测试应用程序, 并且得到了这个错误, /tmp/virtualenv_name/pymssql。cpython-36m-x86_64-linux-gnu。so:未定义符号:PyFPE_jbuf:ImportTerror 回溯(最后一次调用):lambda_hand

  • 我想有一个gradle项目,使用自定义任务创建一个jar(不使用任何gradle java插件)。什么是正确的方法来构建build.gradle,以便我可以在我的Android应用程序的gradle项目中依赖它? 更多详情: 目前,我的jar文件是在我从gradle调用的cmake项目中创建的。我想要一个合适的体形。调用我的cmake命令的gradle文件然后使用生成的jar作为工件。然后,我希望

  • 我已经用Eclipse编写了一个Java应用程序,该应用程序使用SWT作为UI。(请参阅运行jar:异常时的SWT异常线程"main"org.eclipse.swt.SWT异常:无效线程访问的详细信息)。 我导出为JAR,但很难让它从Finder和Terend运行。我终于用让它从终端运行 然而,当我从eclipse导出为JAR时,我仍然无法让它运行。这是因为它导出时需要与它捆绑在一起的参数。然后我

  • 问题内容: 是为了什么? 之间有什么区别? 和 问题答案: 使该变量可用于子流程。 那是, 表示变量名称可用于您从该Shell进程运行的 任何 进程。如果您希望进程使用此变量,请使用,然后从该Shell运行该进程。 表示变量作用域仅限于外壳程序,不适用于任何其他进程。您可以将其用于(例如)循环变量,临时变量等。 重要的是要注意,导出变量不会使其对父进程可用。也就是说,在生成的进程中指定和导出变量不

  • 所以,我正在尝试在Amazon EMR上运行WordCount hadoop应用程序。我有自己的数据文件,我上传到。我还在下添加了wordcount.jar文件。有人能告诉我当我们创建集群时,我们如何给出数据文件的路径,我们是否也需要给出输出目录路径,如果是,那么我如何给出输出目录路径?

  • 我在我的应用程序中使用了XSD中的gml(3.1.1)XSDs。我想下载版本3.1.1中的所有gml XSD,例如zip文件。换句话说:基本xsd在这里,我想下载这个xsd,所有的导入都在zip文件或类似zip文件的东西中。是否有任何应用程序支持这一点?我找到了这个下载器,但它对我不起作用(我认为这个应用程序不支持gml.xsd3.1.1中出现的导入中的相对路径)。有什么想法吗?