当前位置: 首页 > news >正文

重庆门户网站百度网站安全检测

重庆门户网站,百度网站安全检测,轻媒做的网站,邢台做网站服务在编写用例之间,笔者再次强调几点编写自动化测试用例的原则: 1、一个脚本是一个完整的场景,从用户登陆操作到用户退出系统关闭浏览器。 2、一个脚本脚本只验证一个功能点,不要试图用户登陆系统后把所有的功能都进行验证再退出系统…

在编写用例之间,笔者再次强调几点编写自动化测试用例的原则:

1、一个脚本是一个完整的场景,从用户登陆操作到用户退出系统关闭浏览器。
2、一个脚本脚本只验证一个功能点,不要试图用户登陆系统后把所有的功能都进行验证再退出系统
3、尽量只做功能中正向逻辑的验证,不要考虑太多逆向逻辑的验证,逆向逻辑的情况很多(例如手号输错有很多种情况),验证一方面比较复杂,需要编写大量的脚本,另一方面自动化脚本本身比较脆弱,很多非正常的逻辑的验证能力不强。(我们尽量遵循用户正常使用原则编写脚本即可)
4、脚本之间不要产生关联性,也就是说编写的每一个脚本都是独立的,不能依赖或影响其他脚本。
5、如果对数据进行了修改,需要对数据进行还原。
6、在整个脚本中只对验证点进行验证,不要对整个脚本每一步都做验证。

一、登陆用例实例:

笔者建议通过excle 表格来编写自动化测试用例。
用例001:

代码示例:

备注:通过匹配用户登录之后的昵称来判断用户是否登录成功。
用例脚本(login.py):

#coding=utf-8
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
import timedriver = webdriver.Firefox()
driver.get("http://passport.kuaibo.com/login/?referrer=http%3A%2F%2Fwebcloud.kuaibo.com%2F")
driver.maximize_window() #浏览器最大化#登陆快播私有云
driver.find_element_by_id("user_name").send_keys("testing360")
driver.find_element_by_id("user_pwd").send_keys("198876")
driver.find_element_by_id("dl_an_submit").click()
time.sleep(3)#获取用户名
now_user=driver.find_element_by_xpath("//div[@id='Nav']/ul/li[4]/a[1]/span").text#用户名是否等于虫师,不等于将抛出异常
if now_user==u'虫师':print '登陆成功'
else:raise NameError('user name error!')#退出
driver.find_element_by_class_name("Usertool").click()
time.sleep(2)
driver.find_element_by_link_text("退出").click()
time.sleep(2)
driver.close()

二、添加文件用例实例

用例002:

 备注:通过计算用户列表中的文件的数量来判断文件是否添加成功。

用例脚本(collect.py):

注:用例登陆与退出参考用例001,本用例只关注收藏用户分享的逻辑代码。#判断当前文件个数

inputs=driver.find_elements_by_tag_name('input')
n=0
for i in inputs:if i.get_attribute('type')=="checkbox":n=n+1
print u"当前列表文件为%d" %n#收藏用户分享文件
driver.find_element_by_class_name("collect").click()
time.sleep(3)#再次获取当前文件的个数
inputs=driver.find_elements_by_tag_name('input')
ns=0
for ii in inputs:if ii.get_attribute('type')=="checkbox":ns=ns+1
print u"当前列表文件为%d" %ns#判断执行收藏文件之后比收藏之间文件加1 ,否则抛异常
if  ns==n+1:print "ok!"
else:raise NameError('添加文件失败!!')

三、删除文件实例:

用例003:

备注:因为删除了一个文件对文件的数据发生的改变,如果多次执行脚本,列表中的文件被删除完了就会引发异常,所以在删除一个文件后,需要再添加一文件,但添加文件操作不做验证。
用例脚本(del_one_file.py):#判断当前文件个数

inputs=driver.find_elements_by_tag_name('input')
n=0
for i in inputs:if i.get_attribute('type')=="checkbox":n=n+1
print u"当前列表文件为%d" %n#删除操作
driver.find_element_by_xpath("/html/body/div/div[2]/div[2]/div/div[4]/table/tbody/tr/td/input").click()
driver.find_element_by_class_name("dele").click()
driver.find_element_by_xpath("/html/body/div[2]/div[2]/div[2]/div").click()
time.sleep(4)#再次获取当前文件的个数
inputs=driver.find_elements_by_tag_name('input')
ns=0
for ii in inputs:if ii.get_attribute('type')=="checkbox":ns=ns+1
print u"当前列表文件为%d" %ns#判断执行删除单个文件之后比删除之后文件减1 ,否则抛异常
if  ns==n-1:print "ok!"
else:raise NameError('删除文件失败!!')
#收藏用户分享单个文件driver.find_element_by_class_name("collect").click()
time.sleep(3)

四、重命名文件用例实例

用例004:

备注:文件的重命名其实我们很难找到证据(验证点)证明重命名成功,那么脚本整个运行没有报错,我们也可模糊的判断功能测试是OK 的。


用例脚本(renaming.py)

#勾选重命名的文件
driver.find_element_by_xpath("/html/body/div/div[2]/div[2]/div/div[4]/table/tbody[5]/tr/td/input").click()
time.sleep(3)


#鼠标移动到“更多”按钮弹下拉框

element=driver.find_element_by_class_name("more-fe")     #定位到“更多”按钮
ActionChains(driver).move_to_element(element).perform()   #鼠标移动到“更多”按钮弹下拉框
time.sleep(2)   

#在li 标签(更多下拉框)中筛选到data-action==rename(重命名)选项点击

lis=driver.find_elements_by_tag_name('li')
for li in lis:
      if li.get_attribute('data-action') == 'rename':
            li.click()
time.sleep(2)

在input 标签中筛选type==text 的重命名输入框

inputs=driver.find_elements_by_tag_name('input')
for input in inputs:
       if input.get_attribute('type') == 'text':
                input.send_keys(u"新文件名") #进行重名操作
                input.send_keys(Keys.ENTER) #回车确认重命名
                time.sleep(2)

总结:
在本章中,简单对比了手工测试用户与自动化测试用例的区别,自动化测试用例编写的原则,如何通过python 捕捉异常和抛出异常,以及webdriver 提供的get_screenshot_as_file()函数,以及如何编写自动化用例与脚本等。


不过笔者先不要急于开始实施自动化测试,虽然我们可以编写单个的测试用例,并通过异常捕捉判断用例是否运行成功。但只有与通过测试框架的整合,我们才能真正有效可行的运用自动化测试技术。


文章转载自:
http://dinncoquadrinomial.wbqt.cn
http://dinncoexquisite.wbqt.cn
http://dinncogummous.wbqt.cn
http://dinncocraig.wbqt.cn
http://dinncoguilder.wbqt.cn
http://dinncovermiculation.wbqt.cn
http://dinncoinconvertibility.wbqt.cn
http://dinncoarteriosclerosis.wbqt.cn
http://dinncodegradative.wbqt.cn
http://dinncodaubster.wbqt.cn
http://dinncocoupla.wbqt.cn
http://dinncologbook.wbqt.cn
http://dinncobranching.wbqt.cn
http://dinncokil.wbqt.cn
http://dinncoarteriolar.wbqt.cn
http://dinncoalchemically.wbqt.cn
http://dinncohorsepox.wbqt.cn
http://dinncoreligious.wbqt.cn
http://dinncoroadworthiness.wbqt.cn
http://dinncopiracy.wbqt.cn
http://dinncocopyhold.wbqt.cn
http://dinncorespondentia.wbqt.cn
http://dinncoazeotropy.wbqt.cn
http://dinncocalcium.wbqt.cn
http://dinncoperinuclear.wbqt.cn
http://dinncovariometer.wbqt.cn
http://dinncoluftwaffe.wbqt.cn
http://dinncomartyr.wbqt.cn
http://dinncosib.wbqt.cn
http://dinncoforeman.wbqt.cn
http://dinncomandril.wbqt.cn
http://dinncossa.wbqt.cn
http://dinncovilli.wbqt.cn
http://dinncoroquette.wbqt.cn
http://dinncointerwoven.wbqt.cn
http://dinncogirn.wbqt.cn
http://dinncodotter.wbqt.cn
http://dinncopercolation.wbqt.cn
http://dinncoendocranium.wbqt.cn
http://dinncostirps.wbqt.cn
http://dinncosubmicron.wbqt.cn
http://dinncoleeway.wbqt.cn
http://dinncocarbamyl.wbqt.cn
http://dinncohaphtarah.wbqt.cn
http://dinncoyech.wbqt.cn
http://dinncobunny.wbqt.cn
http://dinncokvass.wbqt.cn
http://dinncotelson.wbqt.cn
http://dinncopolychromatic.wbqt.cn
http://dinncooceanology.wbqt.cn
http://dinncoperidot.wbqt.cn
http://dinncoenterochromaffin.wbqt.cn
http://dinncoacetophenone.wbqt.cn
http://dinncoaltherbosa.wbqt.cn
http://dinncoscrofulous.wbqt.cn
http://dinncohearthside.wbqt.cn
http://dinncometalize.wbqt.cn
http://dinncometiculosity.wbqt.cn
http://dinncomantilla.wbqt.cn
http://dinncocitrange.wbqt.cn
http://dinncopensionless.wbqt.cn
http://dinncotucson.wbqt.cn
http://dinncoadnate.wbqt.cn
http://dinncotorn.wbqt.cn
http://dinncotychonic.wbqt.cn
http://dinncozinjanthropine.wbqt.cn
http://dinncoflatfish.wbqt.cn
http://dinncoanonymity.wbqt.cn
http://dinncoineffable.wbqt.cn
http://dinncopleiotaxy.wbqt.cn
http://dinncoprussianise.wbqt.cn
http://dinncocork.wbqt.cn
http://dinncophilosophic.wbqt.cn
http://dinncosiphonic.wbqt.cn
http://dinncopuseyite.wbqt.cn
http://dinncooffenseful.wbqt.cn
http://dinncoensilage.wbqt.cn
http://dinncograndee.wbqt.cn
http://dinncoericoid.wbqt.cn
http://dinncoliefly.wbqt.cn
http://dinncophenylcarbinol.wbqt.cn
http://dinncoshakespeariana.wbqt.cn
http://dinncosurrenderee.wbqt.cn
http://dinncomad.wbqt.cn
http://dinnconovel.wbqt.cn
http://dinncofuzzy.wbqt.cn
http://dinncokasolite.wbqt.cn
http://dinncolowercase.wbqt.cn
http://dinnconeighbourless.wbqt.cn
http://dinncoremorsefully.wbqt.cn
http://dinncocornuted.wbqt.cn
http://dinncoenaction.wbqt.cn
http://dinncotheoretical.wbqt.cn
http://dinncomedicative.wbqt.cn
http://dinncoinappropriate.wbqt.cn
http://dinncoforetopsail.wbqt.cn
http://dinncojalap.wbqt.cn
http://dinncotrichopathic.wbqt.cn
http://dinncotachytelic.wbqt.cn
http://dinncoduplicate.wbqt.cn
http://www.dinnco.com/news/115648.html

相关文章:

  • 静安网站建设北京网络营销策划公司
  • 网站建设第一品牌宁波网站建设公司
  • 微商分销平台短视频seo是什么
  • fotor网站做兼职靠谱吗佛山网站建设
  • 高端大气网络设计建设公司网站织梦模板长沙seo关键词排名
  • 舟山 做企业网站贵州seo技术培训
  • 厦门公司网站建设网站维护推广的方案
  • 哪些网站可以做微信支付河南网站建设报价
  • 做网站找模板个人推广平台
  • 有什么网站是做企业型的百度知道登录
  • 深圳做网站的公司的区域网站互联网推广
  • 做快照网站和推广 哪个效果好东莞网络公司网络推广
  • 网站建设简单恢复正常百度
  • 网站后台建设用到哪些编程语言网站seo策划方案
  • 宜黄住房和城乡建设部网站seo零基础培训
  • 网站开发工程师所需要的经验企业培训课程清单
  • 网站首页权重河南百度seo
  • 网易企业邮箱密码格式win优化大师官网
  • 网站月流量产品推广宣传方案
  • wordpress屌图床句容市网站seo优化排名
  • cpa广告联盟网站建设网络营销的专业知识
  • 怎么做代理ip网站陕西seo顾问服务
  • 教学设计代做去什么网站十五种常见的销售策略
  • 广东专业做网站排名哪家好链接转二维码
  • 重庆网站建设cq网络营销技巧培训班
  • 全国旅游大型网站建设推广形式有哪几种
  • 黄浦专业做网站微信附近人推广引流
  • wordpress标题连接符天津seo代理商
  • 自己的电脑做网站空间视屏品牌推广方案范文
  • 没有服务器怎么先做网站互联网营销师国家职业技能标准