JMeter 压力测试之-脚本录制方法总结

最近由于项目的测试需要,把之前只是简单学习的JMeter又重新捡起来好好学。这篇文章就把JMeter的脚本录制工具和方法做个简单的小结。 JMeter 的脚本录制相对还是很简单的,除了自带的HTTP代理服务器以外,被大家用的比较多的是Badboy, 最近我发现Chrome的BlazeJMeter 这个插件也是一个非常好用的工具,下面逐一介绍。 1.JMeter HTTP 代理服务器; 步骤: >.依次新建TestPlan, TestGroup, Critical Section Controller; >.在WorkBench->Add->Non-Test Elements->HTTP(S) Test Scripts Recorder; 配置内容介绍: 1).端口号; 2).配置保存脚本的位置; 3).配置需要录制的内容; 4).过滤掉不需要录制的内容; 5).点击Start 开始 在录制的开始的时候如果遇到路径的问题,看这里了解详情。 >.配置HTTP代理和端口(端口号与上一步的端口保持一致),Firefox 为例: >.接下来可以开始录制脚本了,录制结束以后就可以点击‘Stop’结束录制,然后可以去配置好的控制器查看录制到的内容啦。 JMeter 的HTTP代理服务器录制下来的内容会比较多,这里就需要你去结合Web 端F12->Network 去过滤掉你不需要的内容了。 2.Badboy 录制; Badboy 的录制相对就比较简单了, 不用做额外的设置。 步骤: >.打开Badboy,在地址栏输入你需要录制的url, >.点击菜单栏的开始(red button)按钮进行录制就可以了(Badboy的浏览器与你电脑的默认浏览器是一致的);录制结束以后可以看到操作都会显示在左边的Test Site下面. >.File->Export to JMeter…保存到指定的位置; >.用JMeter将.jmx 文件打开就可以了 我在实际工作中有发现Badboy 在录制的时候会报很多js的错误,这个暂时还没搞清楚是怎么回事,换成JMeter自己录制就OK, 不知道是不是跟开发用的JaguarJS 有关系,等待继续研究。 3.BlazeMeter的录制; 向大家隆重推荐Chrome … Read moreJMeter 压力测试之-脚本录制方法总结

JMeter 开启录制过程报错

1.今天在利用JMeter的代理服务器录制压测用例的时候,遇到了如下的问题: 运行环境:WIN10, jdk1.8.0_66, JMeter 2.13, >.在TestPlan下新建ThreadGroup; >.在WorkBench新建 Non-Test Element->HTTP(S) Test Script Recorder. >.设置好配置: >.点击‘Start’ 开始录制,此时报错: 2.Rootcause: JMeter 2.10 uses a new method for recording HTTPS requests when running under Java 7. There have been some reports of problems starting the recorder, with errors such as the following: “ERROR – jmeter.protocol.http.proxy.ProxyControl: Could not initialise key store … Read moreJMeter 开启录制过程报错

匆匆那年~~2015小记~~

我希望能拥有个 明亮的落地窗 每天都能够去晒一晒太阳 把我的东西都摆在地上 再唱起从前的时光…… 不知不觉已经走到了2015年的最后30钟头,已不知是从什么时候开始,一年又一年竟过的如此无声无息。 2015,其实我也是有很多计划的,虽然大部分还没有完成; 不想就这么草草得结束今年的最后时光,给未来的自己记录一下~~ 1.关于婚姻、家庭. 2009年7月恋爱、2010年毕业开始异地3年、2013年到上海、2014年6月领证、买房、11月在老家出嫁、婚假蜜月、今年年初六在老公家举行仪式… 这一路走来,磕磕绊绊,大吵小闹无数,从少不更事、任性妄为,到渐渐也学会慢慢去经营。 7年的时间,足够我们成为彼此最亲最爱的人,足够自己去学会拥抱和珍惜这个新的小家大家。 亲爱的老公,感谢一直以来的不离不弃,包容和爱护,感谢爸妈们,兄弟姐妹们的疼爱,感谢可爱懂事的小侄女们。 愿家人一切更好~ 2.关于运动、生活. 2015年初,一度不算疯狂的爱上了跑步,参加跑团,拉上姐妹一起锻炼,健康得度过了3个多月的时光,可惜没有继续坚持下来(在此鄙视自己一下)。 从刚开始的连跑带走勉强坚持2KM,到最后不停歇跑到10KM还觉得不过瘾,中间经历的过程是痛苦也是快乐的。 那段时间的自己:腰疼没那么严重了,痘痘消了,饮食规律了,睡眠质量上来了,整个人UPUPUP的感觉真是超级棒! 好吧,明年我的第一个计划就是重新开启运动模式~~(2016新年目标之一) 不跑步了以后就开始跟着吉吉各种虚拟现实打游戏,勉强混到了业余10级的水平,还认识了一些小伙伴,但是还是有种玩物丧志的赶脚,这个从明年的计划里remove 掉(嘎嘎,吉吉别怪我,不陪你了~)。 3.关于旅行. 沈阳滑雪: 今年的元旦是丢下吉吉,在沈阳的滑雪场度过的。现在回忆里还是皑皑的白雪、一次次的摔跤、马路边的雪丽糍…嘎嘎,身为北方人第一次见识了冰天雪地也是挺够的。 老家度夏: 年中一大家子回的老家过(别人的)暑假,给婆婆过生日,带着小侄女爬山,不顾雨中下河抓鱼,钻了老公家附近的某溶洞。 短短的几天行程很珍贵也很开心,有机会还是要多陪陪家人哒~ 秋游黄山: 今年终于在9月某纪念日去了心心念念好久的黄山,不负此行!黄山确实如传说中一样的壮观、秀美,连秦岭长大的吉吉都赞不绝口,美到极致的西海大峡谷,到处都是怪石奇松,虽然云海日出没看到,不过赶早看日出的心情还是蛮激动的,改天写个黄山游记(2016新年目标之二)。 深圳-香港AGAIN: 因为某些手续要办要去深圳,正好赶在一年通行证过期前夕顺带去了HK。结果事情出奇顺利办妥了,然后就是各种逛海滩吹海风,去星光大道找古仔的手印合影~果然旅行中的心情是最HIGH的。 带老爸老妈小侄女游上海滩: 忙完了老家的拆迁。十一,老爸老妈大舅终于带着小侄女儿来上海啦~~ 十一的时间就是陪他们各种玩,年龄越大就会越珍惜跟家人一起的时光,因为各种原因,定居在外,相聚的时间总是显得那么奢侈和短暂,希望爸妈宝宝永远健康快乐~爱你们啦~~ 不在乎到哪里,只真心能和你们在一起… 4.关于各种~呃证. 户口:由于各种原因吧,也许在不久的将来一切尘埃落定,但是带着对未来的迷茫,还是一切向前看吧,未来会更好, 加油奋斗~ 高项:之前也记录过准备高项的经历,当时的结果还没有出来,现在知道自己顺利通过还是很感激的,毕竟付出的努力没有白费,这也促使自己重新定位以后的道路和态度。好多事情其实很奇妙,明明是奔着一个明确的目标去的,结果收获的往往是不一样的东西。这个就是我现在最真实的感觉,不为了所谓的GK,只为了鼓励自己,只要努力还是可以有收获的~ 5.关于新年. 上文也多多少少提到了以后的计划,关于未来,不,关于新年,给自己的目标:多多关心家人、朋友;开始一项运动并坚持住;接着考试,学习;准备新生活~~ 感谢有你,一路相伴……

Selenium_Webdriver–scrollbar操作

1.在测试过程中,需要控制页面的滚动条的时候,需要用JavaScript 来实现: #控制滚动条到页面底部,两种方法都可以; driver.execute_script(“window.scrollTo(0, 10000);”) driver.execute_script(“document.documentElement.scrollTop=10000”) #控制滚动条到页面顶部 driver.execute_script(“window.scrollTo(0, 0);”) driver.execute_script(“document.documentElement.scrollTop=0”) 2.测试过程中经常容易出现比较低级的错误,在这里记一下: >a.定义测试函数的时候,函数名一定要test开头,否则,unittest 执行不了,囧~ 最好保持良好的编程习惯,命名统一: def test_scroll(self): >b.自己敲代码的时候,总是记不住要把下面这句顶到行起始位置!! if __name__ == “__main__”: unittest.main() 参考文件,scroll还有几种比较好的实现方法: http://blog.likewise.org/2015/04/scrolling-to-an-element-with-the-python-bindings-for-selenium-webdriver/ Keep changing…

Selenium_Webdriver– 执行JavaScript

1.执行JavaScript 脚本进行元素的淡入淡出操作-fadeIn(), fadeOut() 它们的调用格式分别为: $(selector).fadeIn(speed,[callback]) $(selector).fadeOut(speed,[callback]) >a.淡出link: #此处使用id定位元素,$(“#id”).fadeOut(3000); driver.execute_script(‘$(“#tooltip”).fadeOut(3000);’) html code: hover to see tooltip%

Selenium_Webdriver–Chrome驱动测试

1.Chrome Webdriver testing. Q:在执行selenium/webdriver 的测试用例的时候,默认是驱动FireFox()浏览器进行测试的, 如果我尝试用Chrome 去驱动测试呢? A:首先下载Chrome webdriver(os-Win10 64 bit): 点击这里,下载Chrome Webdriver. 然后解压到对应的位置,在代码中替换“self.driver = webdriver.Firefox()”为: self.driver = webdriver.Chrome(executable_path= “C:/Users/JANE/Documents/Webdriver/chromedriver”) 解决啦! 2.屏幕截图. Tips:在测试的过程中,想要看到用例执行的过程实际屏幕是什么样子的,可以选用截图操作: driver = self.driver driver.save_screenshot(‘checkbox.png’) 3.上传文件操作. selenium2.x webdriver 测试的上传文件功能特别简单,不需要点击页面中的按钮,选择本地文件等操作,只要一个send_keys()! driver.find_element(by_id, by_name,etc).send_keys(“thepathoflocalfile”) eg:driver.find_element_by_name(“file”).send_keys (“D:\ABA_Selenium_Testing\ABATesting\checkbox.png”) 参考文章: https://jzchangmark.wordpress.com/2015/02/26/selenium-%E4%BD%BF%E7%94%A8-chrome-%E7%80%8F%E8%A6%BD%E5%99%A8-webdriver/ http://www.weiguda.com/blog/47/ Love python! A little change everyday…

Selenium_Webdriver–iterable(迭代) error

在用selenium 定位页面元素的时候,可以用到各种find_element_by_*操作。但是当你需要定位一组元素的时候,要用到find_elements_by_*(此处注意这个s). Q:今天在写程序,对页面中定位到的所有checkbox勾选,代码如下: def test_checkbox(self): driver = self.driver driver.get(self.base_url) inputs = driver.find_element_by_tag_name(“input”) for input in inputs: if input.get_attribute(“type”) == “checkbox”: input.click() time.sleep(3) 运行测试用例报错: Traceback (most recent call last): File “D:/ABA_Selenium_Testing/ABATesting/CheckBox.py”, line 25, in test_checkbox for input in inputs: TypeError: ‘WebElement’ object is not iterable A:iterable 迭代, 原来是用错了find_element_导致的,囧,换成find_elements_× OK 啦。 Note: 点击学习更多os.path操作 每天进步一点点…

Selenium_Python_Note–元素的定位xpath

定位元素的方法有很多种,首选肯定还是id, class, name, 但素,如果某个元素根本没有这些东西呢? 那么只好选用xpath了,但是一定要优先选用一些有意义的文字,比如我目前用到的例子: 定位一个叫username的链接: driver.find_element_by_xpath(“//span[@class=’username ng-binding’]”).click() 定位一个’Submit’ 按钮: driver.find_element_by_xpath(“//button[@type=’submit’]”).click() 定位一个’Search’ 按钮: driver.find_element_by_xpath(“//button[contains(text(), ‘Search’)]”).click() 定位一个输入框: driver.find_element_by_xpath(“//input[@type=’text’]”).send_keys(“new”) 感觉xpath 特别灵活,但是网络上对它的褒贬也是不一致的。 点击此处学习更多Xpath定位用法~ Xpath 学习

Selenium_Python_Note–xlrd 数据驱动测试,excel 中的数字操作

记录一个最近解决的很low的问题。 Q:问题来源:之前写的selenium 的数据驱动测试用例, 登录界面。实例 但是在运行测试用例的时候,因为用例中的密码是数字,所以怎么都执行不起来,中间有事情就放下了一段时间。 T:Testdata: admin/1234 A:今天回头一点点排查错误吧。 1.会不会是测试数据出的问题?首先直接输入密码“1234”, 其他数据仍然是读取excel中数据,testpass; 关键代码如下: i=1 while (i

Selenium_Python_Note-Data Driven Testing(数据驱动测试)

1.What is Data Driven Testing? Definition from WiKi: ‘Data-driven testing (DDT) is a term used in the testing of computer software to describe testing done using a table of conditions directly as test inputs and verifiable outputs as well as the process where test environment settings and control are not hard-coded. In the simplest form … Read moreSelenium_Python_Note-Data Driven Testing(数据驱动测试)