1. 程式人生 > >JMeter運行通過Chrome打開的website

JMeter運行通過Chrome打開的website

avi 運行 rom all pear check message cte plugin

部分website在chrome上運行正常,但在IE環境運行會存在問題。而是用 JMeter運行通過chrome打開的website時候,需要處理一下。

可以參考下面幾篇文章:

http://ninjawebzen.com/running-jmeter-with-chromedriver/

摘錄部分要點信息如下:

Once download finished, extract zip archive somewhere temporary. Then open the folder where your JMeter located, navigate to ..\apache-jmeter-2.13\lib

and paste all .jar files from WebDriver plugin ..\lib. Open ..\apache-jmeter-2.13\lib\ext and paste .jar file from WebDriver plugin ..\lib\ext.

Right click on a Test Plan => Add => Threads => Config Element => and make verify is presented Chrome Driver Config.

Now lets set the project:

1. Add Thread Group
2. Then Chrome Driver Config (right click on Thread Group => Add => Config Element => Chrome Driver Config)

You would need to specify location of chromedriver.exe (btw download it, if you haven‘t yet), then open Chrome Driver Config and switch to Chrome tab and add path, it would be something like:

C:\Users\your_username\apache-jmeter-2.13\lib\chromedriver.exe

技術分享

3. Add WebDriver Sampler (right click on Thread Group => Add => Sampler => WebDriver Sampler)
And add some test code:

var webdriver = JavaImporter(org.openqa.selenium)
var support_ui = JavaImporter(org.openqa.selenium.support.ui.WebDriverWait)
var conditions = org.openqa.selenium.support.ui.ExpectedConditions
var wait=new support_ui.WebDriverWait(WDS.browser, 5)
var exception = null

WDS.sampleResult.sampleStart()
WDS.browser.get(localhost:8080)

var loginUrl = WDS.browser.findElement(webdriver.By.id(loginUrl_id))
loginUrl.click()

var userName = WDS.browser.findElement(webdriver.By.id(username_id))
userName.sendKeys(admin)
var password = WDS.browser.findElement(webdriver.By.id(password_id))
password.sendKeys(9)

var loginBtn = WDS.browser.findElement(webdriver.By.id(loginBtn_id))
loginBtn.click()
var wait=new support_ui.WebDriverWait(WDS.browser, 10)

wait.until(conditions.presenceOfElementLocated(webdriver.By.linkText(Some Link Text)))

Run the tests!

技術分享

You might have an error message like that on first run

2015/08/04 13:41:37 ERROR - jmeter.threads.JMeterThread: Test failed! java.lang.NoClassDefFoundError: Could not initialize class org.apache.http.impl.conn.ManagedHttpClientConnectionFactory

Then problem is duplicate files in your lib folder, so if problem appear open JMeter lib folder and make sure there is no duplicates.

like this:

技術分享

Here is original stackoverflow solution.

For more information check out Blazemeter posts
1. The WebDriver Sampler: Your Top 10 Questions Answered
2. Using Selenium with JMeter‘s WebDriver Sampler

另外,下面這兩篇文章基本是源自前一篇文章,如果覺得有必要,也可以參考:

https://guide.blazemeter.com/hc/en-us/articles/206732579-Chrome-Extension

http://www.cnblogs.com/liulinghua90/p/5822148.html

就這樣處理即可;

JMeter運行通過Chrome打開的website