H5页面的测试方式
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了H5页面的测试方式相关的知识,希望对你有一定的参考价值。
参考技术A 1. 功能测试1.1.链接测试
链接是Web 应用系统的一个主要特征,它是在页面之间切换和指导用户去一些不知道地址的页面的主要手段。链接测试可分为三个方面。首先,测试所有链接是否按指示的那样确实链接到了该链接的页面;其次,测试所链接的页面是否存在;最后,保证Web 应用系统上没有孤立的页面,所谓孤立页面是指没有链接指向该页面,只有知道正确的URL 地址才能访问。
链接测试可以自动进行,现在已经有许多工具可以采用。链接测试必须在集成测试阶段完成,也就是说,在整个Web 应用系统的所有页面开发完成之后进行链接测试。
1.2. 表单测试
当用户给Web 应用系统管理员提交信息时,就需要使用表单操作,例如用户注册、登陆、信息提交等。在这种情况下,我们必须测试提交操作的完整性,以校验提交给服务器的信息的正确性。例如:用户填写的出生日期与职业是否恰当,填写的所属省份与所在城市是否匹配等。如果使用了默认值,还要检验默认值的正确性。如果表单只能接受指定的某些值,则也要进行测试。例如:只能接受某些字符,测试时可以跳过这些字符,看系统是否会报错。
1.3.Cookies测试
Cookies 通常用来存储用户信息和用户在某应用系统的操作,当一个用户使用Cookies 访问了某一个应用系统时,Web 服务器将发送关于用户的信息,把该信息以Cookies 的形式存储在客户端计算机上,这可用来创建动态和自定义页面或者存储登陆等信息。
如果Web 应用系统使用了Cookies ,就必须检查Cookies 是否能正常工作。测试的内容可包括Cookies 是否起作用,是否按预定的时间进行保存,刷新对Cookies 有什么影响等。
1.4.设计语言测试
Web设计语言版本的差异可以引起客户端或服务器端严重的问题,例如使用哪种版本的html等。当在分布式环境中开发时,开发人员都不在一起,这个问题就显得尤为重要。除了HTML的版本问题外,不同的脚本语言,例如Java、javascript、 ActiveX、VBScript或Perl等也要进行验证。
Web自动化测试:页面元素的定位方法
这一节,我们介绍一下页面元素定位的八种方式和如何通过火狐和谷歌浏览器获取元素定位信息.
页面元素的定位方法
html页面是有一个个的标签组成的,我们定位元素其实就是定位这些标签。
首先来看一下有哪儿几种定位方式:
id
name
class name
tag name
link text
partial link text
xpath
css selector
一共八种定位方式,其实常用的定位方式也有:xpath、css selector,至少要熟练掌握一种......
第1种-ID定位
from selenium import webdriver
driver =webdriver.Chrome()
driver.get("https://tieba.baidu.com/")
driver.find_element_by_id("wd1").send_keys("python")
id定位
代码的意思就是定位id为:“wd1”的输入框并输入了“python”这个数据
<input id="wd1" class="search_ipt search_inp_border j_search_input tb_header_search_input" name="kw1" value="" autocomplete="off" size="42" tabindex="1" maxlength="100" x-webkit-grammar="builtin:search" x-webkit-speech="true" type="text">
第2种-name定位
from selenium import webdriver
driver =webdriver.Chrome()
driver.get("https://tieba.baidu.com/")
driver.find_element_by_name("kw1").send_keys("python")
我们通过观察这个<input>标签的属性,通过name也可以成功定位这个元素
第3种-class name定位
from selenium import webdriver
driver =webdriver.Chrome()
driver.get("https://tieba.baidu.com/")
driver.find_element_by_class_name("search_ipt.search_inp_border.j_search_input.tb_header_search_input").send_keys("python")
结果我们发现系统报错了,由于这个输入框的class中有四个class,
所以当我们同点来分割时,报错:Unable to locate element:;当我们用空格分割时,报错: Compound class names not permitted
而当我们用其中一个class时,比如:search_ipt
这时我们才可以成功的定位元素(一般不建议用这个class name来定位)
第4种-Tag name定位
from selenium import webdriver
driver =webdriver.Chrome()
driver.get("https://tieba.baidu.com/")
driver.find_element_by_tag_name("input").send_keys("python")
我们直接定位这个元素的标签名,可以成功定位,但是由于实际中tag name有很多相同的标签,可能会在运行时定位不准确,所以不建议使用这个
第5种-Link text定位
from selenium import webdriver
driver =webdriver.Chrome()
driver.get("https://tieba.baidu.com/")
driver.find_element_by_link_text("地图").click()
然后我们通过链接的名字找到元素,并进行click()点击操作,进入到了地图页
第6种:Partial link text定位
from selenium import webdriver
driver =webdriver.Chrome()
driver.get("https://tieba.baidu.com/")
driver.find_element_by_partial_link_text("地").click()
同样的,我们通过链接的部分文字信息来定位到这个元素,依旧可以成功定位
第7种-Xpath定位
from selenium import webdriver
driver =webdriver.Chrome()driver.find_element_by_xpath(".//*[@id=‘wd1‘]").send_keys("python")
br/>driver.get("https://tieba.baidu.com/")
driver.find_element_by_xpath(".//*[@id=‘wd1‘]").send_keys("python")
xpath定位
xpath是比较常用的定位,由于定位比较准确,一般是百发百中,但是缺点是绝对路径的xpath根据元素标签的相对位置来定位,如果页面的UI元素有所改动,结构路径变化的话,也会导致我们无法定位元素,不过这是针对我们用firepath自动获取时的定位,我们完全可以根据层级关系和元素属性自己来写xpath路径,这样的话,即使其他路径结构变化,对于xpath定位的准确度还有一定的保障
比如:
1.我们把xpath的父级路径添加上
//form/input[@id=‘wd1‘]
2.我们还可以对所查找元素标签里的属性进行组合
//form/input[@id=‘wd1‘ and @name=‘kw1‘]
3.我们对文本进行匹配
driver.find_element_by_xpath("//*[contains(text(),‘网页‘)]").click()
可以看出xpath简直是神器啊,有没有,可以通过标签的各种属性来定位,等于说是包含了class name、name、id、link_text这些定位的方法。
第8种-CSS Selector定位
from selenium import webdriver
driver =webdriver.Chrome()
driver.get("https://tieba.baidu.com/")
driver.find_element_by_css_selector("#wd1").send_keys("python")
通过css selector 定位
其实这个css selector定位的强悍和xpath不相上下,也非常之强大,比如在css selector里:
我用class来定位:driver.find_element_by_css_selector(".search_ipt")
用id来定位:driver.find_element_by_css_selector("#wd1")
用标签名来定位(tag name):driver.find_element_by_css_selector("input")
用父子关系来定位:driver.find_element_by_css_selector("form>input")
用标签和属性来定位:driver.find_element_by_css_selector("input[id=‘wd1‘]")
以及综合上边的超级组合查询:driver.find_element_by_css_selector("form.clearfix>input[id=‘wd1‘]") #代表着class为clearfix的父级标签和自己id属性为wd1的input标签.
这些就是定位元素的方法,很常用也非常重要,值得收藏!
以上是关于H5页面的测试方式的主要内容,如果未能解决你的问题,请参考以下文章