Reputation: 1361
Trying to Pass a hardcoded header into a jmeter webdriver Script
var pkg=JavaImporter(org.openqa.selenium,org.openqa.selenium.support.ui)
var Thr=JavaImporter(java.lang.Thread)
var wait = new pkg.WebDriverWait(WDS.browser, 10)
//var ui=JavaImporter(org.openqa.selenium.support.ui)
WDS.sampleResult.sampleStart()
var usernameField = WDS.browser.findElement(pkg.By.id('uname'))
usernameField.sendKeys(['TDM_73312'])
var passwordField = WDS.browser.findElement(pkg.By.id('pw_TLNPI'))
passwordField.sendKeys(['abcd'])
WDS.sampleResult.setRequestHeaders('C1_PID:S6VwSlA5ncV0XCUAgwXXrh399zhOZRM9xuIgueFxe2M48GKvRtN2Kd4Dg3zixa0r'+'\n'+'profile_ref_id:S6VwSlA5ncV0XCUAgwXXrh399zhOZRM9xuIgueFxe2M48GKvRtN2Kd4Dg3zixa0r')
Thr.Thread.sleep(2000)
var loginButton=WDS.browser.findElement(pkg.By.id('login-start-button'))
loginButton.click() //click on the login button
WDS.log.info(WDS.name + ' has logged an entry')
WDS.sampleResult.sampleEnd()
I need to pass these 2 header for a successful login
WDS.sampleResult.setRequestHeaders('C1_PID:S6VwSlA5ncV0XCUAgwXXrh399zhOZRM9xuIgueFxe2M48GKvRtN2Kd4Dg3zixa0r'+'\n'+'profile_ref_id:S6VwSlA5ncV0XCUAgwXXrh399zhOZRM9xuIgueFxe2M48GKvRtN2Kd4Dg3zixa0r')
When I run this script its not successfully logging in
Upvotes: 1
Views: 1834
Reputation: 168122
In order to manipulate cookies you can use WebDriver.manage().addCookie() method. Given JavaScript (default language for the WebDriver Sampler) this can be done like:
var myCookie = new org.openqa.selenium.Cookie("Cookie_Name","Cookie_Value");
WDS.browser.manage().addCookie(myCookie);
See The WebDriver Sampler: Your Top 10 Questions Answered article for more WebDriver Sampler tips and tricks
Upvotes: 4