python来进行UI自动化测试

python来进行UI自动化测试

2009-10-31 11:38 阅读( ?) 评论(0)

背景:公司对网站重要页面的UE要求很高,需要测试不同浏览器的兼容性,还要考虑分辨率的问题,测试成本很高。

一个想法: 用python操作ie,自动截图,每次测试的时候只需要提供测试url,并查看几十张截图就ok了。

问题分析:将页面看做是数据+html模板样式的整合,多数UE的问题是由于数据影响到了样式,比如设定某个div宽度为20,但是由于div内数据有问题,比如出现了一长串没有空格的数字,就有可能将div撑大,造成页面显示异常。

解决手段:针对已经发生的问题,通过python打开页面,然后动态调整元素的innerHTML,之后将每个测试case都截图发给测试人员。

Demo: 预先安装ActivePython:

import win32com
import win32com.client
import time

def load(ie):
 while ie.Busy:
  time.sleep(1)

def ite(root):
 if root.NodeName == 'A' or root.NodeName == 'a':
  print root.Href
 ch = root.ChildNodes
 len = ch.Length
 for i in range(0,len):
  c = ch[i]
  ite(c)

urlMap = {}

ie = win32com.client.Dispatch('InternetExplorer.Application')
ie.Visible = 1
#ie.Navigate("www.baidu.com")
#load(ie)
#doc = ie.Document
#doc.getElementById('kw').value='mp3'
#doc.forms[0].submit()
#load(ie)

ie.Navigate("http://www.sogou.com/web?query=mp3")
load(ie)

tm = None
for i in range(e.ChildNodes.Length):
    n = e.ChildNodes(i)
    if n.TagName == 'DL':
        al = n.getElementsByTagName('A')
        al[0].InnerHTML='WWWWWWWWWWWW'
        tm = al[0]
        for j in range( al.Length ):
            print al[j].InnerHTML


print ie.ReadyState

doc = ie.Document
e = doc.getElementById('sidebar')


ie.Quit()
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值