In WeDriver sampler i want to use JavaImporter to call my own class which will execute test for login page. Insert username and password and enter.
like to is used in that way: var pkg = JavaImporter(org.openqa.selenium, org.openqa.selenium.support.ui) var support_ui = JavaImporter(org.openqa.selenium.support.ui.WebDriverWait)
I have created class file and create jar file with eclipse help. Class will only update values on web page ( username and password). Created a jar file from eclipse was Import into eclipse project to check if jar file is correct. I can browse classes and import class into new java file.
JAR file was copied into JmeterPATH/lib/ext, open JMeter and update tests webdriver sampler with: var login_page = JavaImporter(WebTest.BO.Login)
Jmeter returns: Response message: javax.script.ScriptException: sun.org.mozilla.javascript.internal.EcmaError: ReferenceError: "WebTest" is not defined. (#3) in at line number 3
Does anyone know what should be add into class Login , that JMeter will work correctly and will recognise package WebTest.BO.Login ( as it is recognised in eclipse)
In JMeter i also add in Testplan JAR File.
Thank you very much for support.
This is a code of class package 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();
}
Resolved code in 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}") Regards