06 2013 档案
摘要:1 # -*- coding:utf-8 -*- 2 3 from selenium import webdriver 4 5 driver = webdriver.Firefox() 6 7 driver.get(r'F:\电子书\selenium\Selenium Testing Tools Cookbook(中文)\demo\RadioButton.html') 8 9 apple = driver.find_element_by_css_selector("input[value='Apple']")10 11 #检查是否已选择12
阅读全文
摘要:1 # -*- coding:utf-8 -*- 2 3 """ 4 下拉列表处理 5 """ 6 7 from selenium import webdriver 8 from selenium.webdriver.support.select import Select 9 10 driver = webdriver.Firefox()11 12 driver.get(r'F:\电子书\selenium\Selenium Testing Tools Cookbook(中文)\demo\Droplist.html')
阅读全文
摘要:1 # -*- coding:utf-8 -*- 2 3 """ 4 浏览器最大化 5 """ 6 7 from selenium import webdriver 8 9 driver = webdriver.Firefox()10 driver.get('http://www.baidu.com')11 driver.maximize_window()
阅读全文
摘要:1 # -*- coding:utf-8 -*- 2 """ 3 get_screenshot_as_file:截图 4 save_screenshot: 截图 5 """ 6 7 from selenium import webdriver 8 import datetime 9 10 driver = webdriver.Firefox()11 12 driver.get('http://www.baidu.com')13 14 #给图片名加上时间戳,确保不被重复15 driver.get_screenshot_a
阅读全文
摘要:1 # -*- coding:utf-8 -*- 2 3 from selenium import webdriver 4 from selenium.webdriver import ActionChains 5 6 driver = webdriver.Firefox() 7 8 driver.get(r'F:\电子书\selenium\Selenium Testing Tools Cookbook(中文)\demo\DragAndDrop.html') 9 10 source = driver.find_element_by_id('draggable')
阅读全文
摘要:1 # -*- coding:utf-8 -*- 2 3 """ 4 在元素上执行双击操作 5 """ 6 7 from selenium import webdriver 8 from selenium.webdriver import ActionChains 9 import unittest10 11 class Actions_Element_Click(unittest.TestCase):12 def setUp(self): 13 self.driver = webdriver.Firefox()14 self.dri
阅读全文
摘要:1 # -*- coding:utf-8 -*- 2 3 """ 4 在元素上执行双击操作 5 """ 6 7 from selenium import webdriver 8 from selenium.webdriver import ActionChains 9 10 driver = webdriver.Firefox()11 driver.get(r'F:\电子书\selenium\Selenium Testing Tools Cookbook(中文)\demo\DoubleClickDemo.html')1
阅读全文
摘要:# -*- coding:utf-8 -*-from selenium import webdriverfrom selenium.webdriver.common.by import Byimport unittestclass TableTest(unittest.TestCase): def setUp(self): self.driver = webdriver.Firefox() def test_table(self): driver = self.driver driver.get('http:...
阅读全文
摘要:# -*- coding:utf-8 -*-"""执行 js 脚本"""from selenium import webdriverimport unittestclass login(unittest.TestCase): def setUp(self): self.driver = webdriver.Firefox() self.driver.implicitly_wait(30) self.base_url = 'http://www.51testing.com' self.verificationErrors
阅读全文
摘要:1 # -*- coding:utf-8 -*- 2 3 """ 4 selenium webdriver 定位元素是通过使用 findElement() 和 findElements()方法. 5 findElement() 方法返回一个基于指定查询条件的 WebElement 对象或是抛出一个没有 6 找到符合条件元素的异常. 7 findElements()方法会返回匹配指定查询条件的 WebElement的集合,如果没有找到则返回为空. 8 findElement() 和 findElements() 方法当找不到相应的元素的时候就会抛出 NoSuchEl
阅读全文
摘要:是选择HTML还是URL录制,有以下参考原则:(1)基于浏览器的应用程序推荐使用HTML-based script。(2)不是基于浏览器的应用程序推荐使用URL-based script。(3)如果基于浏览器的应用程序中包含了JavaScript并且该脚本向服务器产生了请求,比如DataGrid的分页按钮等,也要使用URL-based script方式录制。(4)基于浏览器的应用程序中使用了HTTPS安全协议,使用URL-based script方式录制。
阅读全文
摘要:1.LoadRunner录制脚本时为什么不弹出IE浏览器? 当一台主机上安装多个浏览器时, LoadRunner 录制脚本经常遇到不能打开浏览器的情况,可以用下面的方法来解决。 启动浏览器,打开Internet选项对话框,切换到高级标签,去掉"启用第三方浏览器扩展(需要重启动)"的勾选,然后再次运行VuGen即可解决 问题 还有就是点击“我的电脑-》属性-》高级-》性能设置-》数据执行保护-》选择“仅为基本WINDOWS程序和服务启用DEP” 提示:通常安装Firefox等浏览器后,都会勾选上面得选项,导致不能正常录制。因此建议运行LoadRunner得主机上保持一个干净测
阅读全文
摘要:1 Action() 2 { 3 char * time; 4 char * str; 5 //获得当前系统时间,格式设置.将当前时间赋值给 times 6 lr_save_datetime("%Y-%m-%d %H:%M:%S",DATE_NOW + TIME_NOW,"times"); 7 //得到 times 的值 8 time = lr_eval_string("{times}"); 9 //输出 10 lr_output_message(time); 11 12 ...
阅读全文
摘要:当录制脚本时,VuGen会拦截client端(浏览器)与server端(网站服务器)之间的对话,并且通通记录下来,产生脚本。在VuGen的Recording Log中,您可以找到浏览器与服务器之间所有的对话,包含通讯内容、日期、时间、浏览器的请求、服务器的响应内容等等。脚本和Recording Log最大的差别在于,脚本只记录了client端要对server端所说的话,而Recording Log则是完整纪录二者的对话。当执行脚本时,您可以把VuGen想象成是一个演员,它伪装成浏览器,然后根据脚本,把当初真的浏览器所说过的话,再对网站伺服器重新说一遍,VuGen企图骗过服务器,让服务器以为它就
阅读全文
摘要:Transactions(用户事务分析) 用户事务分析是站在用户角度进行的基础性能分析。1、Transation Sunmmary(事务综述) 对事务进行综合分析是性能分析的第一步,通过分析测试时间内用户事务的成功与失败情况,可以直接判断出系统是否运行正常。2、Average Transaciton Response Time(事务平均响应时间) "事务平均响应时间"显示的是测试场景运行期间的每一秒内事务执行所用的平均时间,通过它可以分析测试场景运行期间应用系统的性能走向。 例:随着测试时间的变化,系统处理事务的速度开始逐渐变慢,这说明应用系统随着投产时间的变化,整体性能将
阅读全文
摘要:大家在使用selenium元素定位的时候,通常更多使用的是XPATH,css定位方式用得比较少 但有时候css定位方式还是有一些优势的, 优势1:一般情况下定位速度要比XPATH快 优势2:语法要比XPATH更简洁 下面简要介绍一下css元素选择器的语法 常见语法*通用元素选择器,匹配任何元素E标签选择器,匹配所有使用E标签的元素.infoclass选择器,匹配所有class属性中包含info的元素#footerid选择器,匹配所有id属性等于footer的元素E,F多元素选择器,同时匹配所有E元素或F元素,E和F之间用逗号分隔E F后代元素选择器,匹配所有属于E元素后代的F元素,E和F之间用
阅读全文
摘要:1 # -*- coding:utf-8 -*- 2 """ 3 class login 继承 unittest.Testcase 4 unittest.main()测试类中以 test 开头的测试用例 5 setUp:初始化 6 tearDown:只要setUp启动成功,不管以test开头的case程序是否执行成功, tearDown 都会被执行 7 """ 8 from selenium import webdriver 9 import unittest10 11 class login(unittest.TestCase):1
阅读全文
摘要:loadrunner录制下载文件,文件如何保存,如何获得服务器返回的文件名,保存文件时如何随机生成文件名在录制脚本的过程中,我们把下载文件的请求单独放到一个action中,我们先简单的分析一下录制下载文件的脚本,在脚本中只能看到这样一个下载的请求:web_url("download.php", "URL=http://211.147.208.141/cn/resources/download.php?id=386", "Resource=1", "RecContentType=application/force-downlo
阅读全文
摘要:数据分配方法Select next row 设置数据分配方法,包括: "Sequential、Random、Unique"。数据分配方法描述表 分配方法描述Sequential(顺序)"顺序" 方法是顺序地向 Vuser 分配数据。当正在运行的 Vuser 访问数据表时,它将会提取下一个可用的数据行。如果在数据表中没有足够的值,则 VuGen 返回到表中的第一个值,循环继续直到测试结束。Random(随机)"随机" 方法为每个 Vuser 分配一个数据表中的随机值,可以指定随机种子数。每个种子值代表用于测试执行的一个随机值顺序。每当使
阅读全文
摘要:AnalysisSummary:场景摘要 Period:场景运行的起止时间。 ScenarioName:场景名称 ResultsSession:场景运行的结果目录 Duration:场景运行的时间StatisticsSummary:场景状态的统计说明 MaximunRunning Vusers:场景最大用户数 TotalThroughput(bytes):总带宽流量 AverageThroughput(bytes/second):平均每秒带宽流量 Total Hits:总点击数AverageHits per Second:平均每秒点击量 Transaction Summary:事务摘要 Tot
阅读全文
摘要:1. Web Page Diagnostics(网页分析) 当场景中打开 Diagnostics 菜单下 Web Page Diagnostics 功能后, 才能得到网页分析组图。 通过该图, 可以对事务的组成进行抽丝剥茧的分析, 得到组成这个页面的每一个请求的时间分析, 进 一步了解响应时间中有关网络和服务器处理时间的分配关系。 可以实现对网站的前端性能分析, 明确系统响应时间较长是由服务器端处理能力不足还是客户端链接 到服务器的网络消耗导致的。 1.1 Web Page Diagnostics(网页分析) 该图先会得到整个场景运行后虚拟用户访问 Page 列表, 也就是所有页面下载时间列.
阅读全文
摘要:图的设置与操作Merge Graphs(合并图)合并图的3种方式:Overlay(叠加)、Tile(平铺)、Correlate(关联).Overlay:将两张图的通过x轴进行覆盖合并.tips:Running Vusers 和 Average Transaction Response Time 合并, 可以得到用户增长的过程是如何影响平均时间的.Tile:将两张图的Y轴为上、下部分,不做叠加.tips:Running Vusers 和 Hist per Second 合并, 可以看到随着用户数量增加每秒点击量的变化过程, 从而了解在当前负载下系统承受点击量峰值.Correlate:首先将主图的
阅读全文
摘要:这段时间天天测 WebService ,测得真想吐。WebService的测试方法,如果WebService中调用的方法需输入的参数本身就是个XML文件时:参数文件格式:<?xml version="1.0" encoding="UTF-8"?><root><header><lines><smsuser& amp;gt;<id>98d93b3c88cb471881493a1ddcb67d1e</id><batchId>test_batch_id_10<
阅读全文
摘要:web_reg_save_param_ex():关联web_get_int_property():可以使用该函数获取页面返回的一些东西,如状态码:200web_custom_request("web_custom_request", "URL=http://192.168.0.83:8080/message-center/ws/b2cSmsWebService", "Method=POST", "RecContentType=application/soap+xm...
阅读全文
摘要:1 # *-* coding: utf-8 *-* 2 3 #列表是可变的,有序的. 列表中可以存放任意混合数据类型 4 5 cast = ["Cleese", "Palin", "Jones", "Idle"] 6 print(cast) 7 8 #len() 获得列表长度 9 print(len(cast))10 #使用索引方式访问列表, 索引从 0 开始11 print(cast[1])12 #list.append() 在列表末尾添加一个数据项13 cast.append("Gilliam&quo
阅读全文
摘要:1 # *-* coding: utf-8 *-* 2 3 import os 4 5 #os.getcwd() 当前工作目录 6 os.getcwd() 7 8 #data = open('test1.txt') 9 #print(data.readline())10 11 #返回文件起始位置12 #data.seek(0)13 14 #if os.path.exists('test.txt'):15 try:16 data = open('test.txt') #打开文件17 for line in data:18 try:19 ...
阅读全文
摘要:class MyClass(object): count = 0 #类成员 def __init__(self): MyClass.count += 1 def getCount(self): return MyClass.count #返回计数器if __name__ == '__main__': f = MyClass() f1 = MyClass() print(MyClass.count) print(f1.getCount())
阅读全文
摘要:静态方法使用 @staticmethod 修饰类成员方法使用 @classmethod 修饰class MyClass(object): @staticmethod def test1(): print("static test1") @classmethod def test2(cls): print("class method ", cls)if __name__ = '__main__' MyClass.test1() MyClass.test2()
阅读全文
摘要:property 4个参数, fget、 fset、 fdel、 doc实际上讲 get set del 方法绑定在一个成员变量上 1 class Rectangle(object): 2 def __init__(self): 3 self.width = 0 4 self.height = 0 5 6 def setSize(self, size): 7 self.width, self.height = size 8 9 def getSize(self):10 retur...
阅读全文
摘要:Web_find 函数与 Web_reg_find 函数区别:1. Web_find 普通函数2. Web_find 使用时必须开启内容检查选项 , Web_reg_find 没有此限制3. Web_find 只能用于基于 HTML 模式录制的脚本中,Web_reg_find 没有此限制4. Web_find 是在返回的页面中进行内容查找 , Web_reg_find 是在缓存中进行查找5. Web_find 在执行效率上不如 Web_reg_find录制模式HTML-based:模拟用户操作浏览器的过程.URL-based:模拟浏览器访问服务器发送 HTTP 请求的过程.
阅读全文
摘要:这个有两种做法一个是把100替换成一个参数,设置参数类型为随机,范围是1-30就行了第二种还是写变量的方法int s;s=rand()%30+1;lr_save_int(s,"temp");web_custom_request(......., "URL=http://192.168.1.211/{temp}/index.htm", ........ LAST);生成指定范围内的随机数产生一个X到Y的随机数:由于rand产生的随机数从0到rand_max,而rand_max是一个很大的数,那么如何产生从X~Y的数呢?只要这样写:k=rand()%(Y-X
阅读全文
摘要:Error -26610: HTTP Status-Code=502 (Bad Gateway)可以尝试关闭 Keep-Alive长连接模式Error -27796: Failed to connect to server "xxxxx":80 [10048] Address already in use导致这个错误的原因是模拟的连接用户太快而多,导致本地的TCP连接释放不过来
阅读全文
摘要:top命令能够实时监控系统的运行状态,并且可以按照CPU、内存和执行时间进行排序,同时top命令还可以通过交互式命令进行设定显示,通过top命令可以查看即时活跃的进行。命令行启动参数:用法: top -hv | -bcisSHM -d delay -n iterations [-u user | -U user] -p pid [,pid ...]-b : 批次模式运行。通常用作来将top的输出的结果传送给其他程式或储存成文件-c : 显示执行任务的命令行-d : 设定延迟时间-h : 帮助-H : 显示线程。当这个设定开启时,将显示所有进程产生的线程-i : 显示空闲的进程-n : 执行次数
阅读全文
摘要:CPU查询指令:cat /proc/cpuinfo内存查询指令:cat /proc/meminfo硬盘查询指令:fdisk-l (需要root权限)vmstat使用说明vmstat可以对操作系统的内存信息、进程状态、CPU活动、磁盘等信息进行监控,不足之处是无法对某个进程进行深入分析vmstat[-a] [-n] [-S unit] [delay [ count]]•-a:显示活跃和非活跃内存•-m:显示slabinfo•-n:只在开始时显示一次各字段名称。•-s:显示内存相关统计信息及多种系统活动数量。•delay:刷新时间间隔。如果不指定,只显示一条结果。•count:刷新次数。如果不指定
阅读全文
摘要:修改 bin 目录中的 catalina.bat 文件, 在头部注释部分后面加入:set JAVA_OPTS=%JAVA_OPTS%-Dcom.sun.management.jmxremote.port=8999-Dcom.sun.management.jmxremote.authenticate=false-Dcom.sun.management.jmxremote.ssl=false修改tomcat初始化大小bin/catalina.batJAVA_OPTS='-Xms 初始化内存大小 -Xms 可以使用的最大内存'Conf/server.xml调整连接线程maxThrea
阅读全文
摘要:启动、停止、重启 MySQL 是每个拥有独立主机的站长必须要撑握的操作一、启动方式1、使用 service 启动:servicemysqld start2、使用 mysqld 脚本启动:/etc/inint.d/mysqld start3、使用 safe_mysqld 启动:safe_mysqld&二、停止1、使用 service 启动:service mysqld stop2、使用 mysqld 脚本启动:/etc/inint.d/mysqld stop3、mysqladmin shutdown三、重启1、使用 service 启动:service mysqld restart2、使
阅读全文
摘要:http://www.cnblogs.com/sunwei2012/tag/最近看了一些Linux命令行的文章,在系统信息查看方面学到不少命令。想起以前写过的一篇其实Linux这样用更简单,发现这些系统信息查看命令也可以总结出一篇小小的东西来了。另外这里还有非常多的命令,可以作为参考。系统# uname -a # 查看内核/操作系统/CPU信息# head -n 1 /etc/issue # 查看操作系统版本# cat /proc/cpuinfo # 查看CPU信息# hostname # 查看计算机名# lspci -tv...
阅读全文
摘要:1 # -*- coding:utf-8 -*- 2 3 from selenium import webdriver 4 5 driver = webdriver.Firefox() #打开 Firefox 6 7 #driver = webdriver.Ie() #打开 IE 8 9 #driver = webdriver.Chrome() #打开 Chrome10 11 driver.get('http://www.baidu.com') #打开百度12 13 driver.get('...
阅读全文
摘要:1 """弹出窗口处理""" 2 # -*- coding:utf-8 -*- 3 4 from selenium import webdriver 5 6 driver = webdriver.Firefox() 7 8 driver.get('http://www.baidu.com') 9 10 print driver.current_window_handle #获取当前句柄11 12 driver.find_element_by_id('kw').send_keys('51testi
阅读全文
摘要:1 # -*- coding:utf-8 -*- 2 3 from selenium import webdriver 4 5 browser = webdriver.Firefox() 6 7 browser.get('http://www.51testing.com') 8 print browser.title 9 print browser.page_source10 browser.find_element_by_id('username').send_keys('username')11 browser.find_element_by
阅读全文

浙公网安备 33010602011771号