Web自动化测试记录

上一篇 / 下一篇  2017-11-02 11:22:27 / 个人分类:软件测试

.web自动化,想到以下三种自动化方式,各有优缺点。

1.基于UI的自动化

优点:简单,有很多可借鉴的材料。

缺点:非常不稳定;过于依赖界面,一旦界面发生变动,需要重新写;由于不稳定,受影响因素太多,维护成本大。

2.基于web接口的测试

优点:比基于UI的方式稳定很多。

缺点:可借鉴的材料不多,相对复杂;需要咨询开发对应的请求URL;请求结果不好解析,需要研究。

3.基于开发的代码

也就是在开发项目上直接建立测试代码,也就是白盒测试,类似于单元测试

优点:非常稳定,可以深入开发代码逻辑进行测试。

缺点:需要看开发代码,难度较大;对后台代码逻辑进行了测试,但无法测试前台请求;直接在项目上写测试用例,领导貌似不太愿意

基于以上分析,暂决定采用第二种方式进行。也就是在功能测试任务完成的前提下,利用课余时间研究研究,加油!!!开始啦

 

.自动化测试需要解决的几大问题:

1)日志信息的完善、规范化,用例结果的定位就是通过日志,所以日志一定要规范化(通过打入日志可解决该问题)

2)生成测试结果报告;

3)所有的业务功能是否都适合使用发送http请求的方式,因为有的页面很复杂,请求报文参数很多;

4)结果分析,因为发送http请求,返回的结果是html页面,要想个办法如何分析结果,准确的判断执行是否成功(BeautifulSoup 解析html可解决该问题)。

 

.遇到问题,及解决方法

1.session的保持

s = requests.Session()

s.get('http://httpbin.org/cookies/set/sessioncookie/123456789')#cookie保留在s

r = s.get("http://httpbin.org/cookies")#再次访问时会保留cookie

 

2.读取配置文件

配置文件server.con如下

[host]

settle_host = 192.168.2.15

settle_port = 5050

 

"""读取配置文件"""

cf = ConfigParser.ConfigParser()

cf.read("G:\PycharmProjects\jspt_test\conf\server.conf")

SettleIp = cf.get("host", "settle_host")

SettlePort = cf.get("host", "settle_port")

 

3.字符串去掉最后一个字符,例:

a = "abc"

b = [:-1]

结果:a:"abc"   b:"ab"

 

datetim类型转化为str

recvmertime = '2017-10-10 09:32:29' #日期格式

str= recvmertime.strftime("%m%d%H%M%S") #转化为了字符串

 

4.python字典是无序的。。。

 

5.python解析html,用BeautifulSouphttp://www.cnblogs.com/twinsclover/archive/2012/04/26/2471704.html

 

6.执行sql insert delete update后要执行submit,否则不生效

 

 

博为峰网校,入门提升进阶必备~http://www.atstudy.com/

 


TAG: 软件测试 Web测试 web测试

 

评分:0

我来说两句

Open Toolbar