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

拟一份饰品网站建设合同域名网站建设方案

拟一份饰品网站建设合同,域名网站建设方案,阿里网站备案,西安公司团建活动好去处一,线性测试 1.概念: 通过录制或编写对应应用程序的操作步骤产生的线性脚本。单纯的来模拟用户完整的操作场景。 (操作,重复操作,数据)都混合在一起。 2.优点: 每个脚本相对独立&#xff0…

一,线性测试

1.概念:

通过录制或编写对应应用程序的操作步骤产生的线性脚本。单纯的来模拟用户完整的操作场景。

(操作,重复操作,数据)都混合在一起。

2.优点:

每个脚本相对独立,且不产生其他依赖和调用。

3.缺点:

开发成本高,用例之间存在重复的操作。比如重复的用户登录和退出。

维护成本高,由于重复的操作,当重复的操作发生改变时,则需要逐一进行脚本的修改。

4.线性测试实例

用户登录

以下的用户名密码到时候自己去申请,就不将笔者的用户密码贴出来了。

# coding=utf-8
'''
Created on 2016-7-20
@author: Jennifer
Project:简单元素操作登录126邮箱,元素的clear(),send_keys(),click()操作
在定位的时候发现有些元素定位不到,最后发现有iframe,frame中实际上是嵌入了另一个页面。
如果iframe有name或id的话,直接使用switch_to_frame("name值")或switch_to_frame("id值"),
这是最理想的方法,也是最简单好用的方法。
'''
from selenium import webdriver
import timedriver=webdriver.Firefox()
driver.get(r'http://www.126.com/')  #字符串加r,防止转义。
time.sleep(3)print '开始登录邮箱'try:assert '126' in driver.title    #title是变量,不能title()
except AssertionError:print "error:网址输入不正确"
else:print "记录日志:网址输入正确"#    driver.switch_to_frame('x-URS-iframe')  #跳转到iframe框架driver.switch_to.frame('x-URS-iframe')   #同上面语句一样,跳转到iframe框架username=driver.find_element_by_name('email')username.clear()username.send_keys('Jennifer···')time.sleep(0.1)userpasswd=driver.find_element_by_name('password')userpasswd.clear()userpasswd.send_keys('·····')time.sleep(0.1)loginbt=driver.find_element_by_id('dologin')loginbt.click()time.sleep(3)try:assert '网易邮箱' in driver.titleexcept AssertionError:print '邮箱登录失败'else:print '邮箱登录成功'finally:#操作:收信,写信等操作,暂不写例子了driver.quit()print '测试结束'

二,模块化驱动测试

1.概念:

将重复的操作独立成功共模块,当用例执行过程中需要用到这一模块操作时则被调用。

操作+(重复操作,数据)混合在一起。

2.优点:

由于最大限度消除了重复,从而提高了开发效率和提高测试用例的可维护性。

3.缺点:

虽然模块化的步骤相同,但是测试数据不同。比如说重复的登录模块,如果登录用户不同,依旧要重复编写登录脚本。

4.实例

公共模块:对登陆和退出进行模块化封装

以下的用户名密码到时候自己去申请,就不将笔者的用户密码贴出来了。

# coding=utf-8
'''
Created on 2016-7-27
@author: Jennifer
Project:模块化驱动测试实例,将重复的登录脚本放在单独的脚本中供其他用例调用
'''
import time
class Login():def user_login(self,driver):username=driver.find_element_by_name('email')username.clear()username.send_keys('username')time.sleep(0.1)userpasswd=driver.find_element_by_name('password')userpasswd.clear()userpasswd.send_keys('password')time.sleep(0.1)loginbt=driver.find_element_by_id('dologin')loginbt.click()time.sleep(3)def user_logout(self,driver):driver.find_element_by_link_text(u'退出').click()driver.quit()

写信用例:以下代码用了各种定位方法,值得学习,后续再重新对这部分进行总结

直接调用模块的登录和退出方法。

收信用例:

直接调用模块的登录和退出方法。

# coding=utf-8
'''
Created on 2016-7-27
@author: Jennifer
Project:接收邮件
'''
from selenium import webdriver
import timefrom test_5_2_public import Login
driver=webdriver.Firefox()
driver.implicitly_wait(30)
driver.get(r'http://www.126.com/')  #字符串加r,防止转义。
time.sleep(3)
driver.switch_to.frame('x-URS-iframe')
#调用登录模块
Login().user_login(driver)
time.sleep(10)
#接收邮件
#点击收信
#以下定位是查找span标签有个文本(text)包含(contains)'收 信' 的元素,该定位方法重要
driver.find_element_by_xpath("//span[contains(text(),'收 信')]").click()#校验是否进入收件箱,没报错即进入
try:#点击其中一封邮件driver.find_element_by_xpath("//div[@sign='letter']").click()
except Exception as e:print e
else:print '成功收信'#调用退出模块    
Login().user_logout(driver)

三,数据驱动测试

1.概念:

它将测试中的测试数据和操作分离,数据存放在另外一个文件中单独维护。

通过数据的改变从而驱动自动化测试的执行,最终引起测试结果的改变。

操作+重复操作+数据分开。

2.优点:

通过这种方式,将数据和重复操作分开,可以快速增加相似测试,完成不同数据情况下的测试。

3.缺点

暂无

4.实例

从excel表格读取用户名密码,登录邮箱。

以下的用户名密码到时候自己去申请,就不将笔者的用户密码贴出来了。

# coding=utf-8
'''
Created on 2016-7-28
@author: Jennifer
Project:数据驱动测试,数据保存在excel中,需要导入xlrd模块
'''
from selenium import webdriver
import time
import xlrd#将用户密码表格转换为用户密码列表
def exceltolist(excelfile,colnameindex=0,by_index=0):excelfile=xlrd.open_workbook(excelfile)   #打开excel表格
#    table = excelfile.sheets()[by_index]     #默认获取sheet0页table = excelfile.sheet_by_index(by_index)#默认获取sheet0页nrows=table.nrows                         #获取excel的sheet0页的行数colnames=table.row_values(colnameindex)   #默认获取第0行的列表数据:name和password两个值list =[]                                  #建一个空列表,用来存放用户密码字典for rownum in range(1,nrows):             #初始行为0,从第1行开始row = table.row_values(rownum)        #获取某一行的列表数据if row:app = {}                          #建立一个空字典,存放某一组用户密码数据for i in range(len(colnames)):    #目前是2app[colnames[i]] = row[i]     #字典新增数据:循环两次,字典新增两对key-valuelist.append(app)                  #将新增的字典数据,添加到列表数据中                 return listdef Login():file=r'D:\pythontest\rightpassword\userpassword.xls'userlist=exceltolist(file)for i in range(len(userlist)):driver=webdriver.Firefox()driver.get(r'http://www.126.com/')  #字符串加r,防止转义。time.sleep(3)driver.switch_to.frame('x-URS-iframe')   #同上面语句一样,跳转到iframe框架username=driver.find_element_by_name('email')username.clear()username.send_keys(userlist[i]['name'])time.sleep(0.1)userpasswd=driver.find_element_by_name('password')userpasswd.clear()userpasswd.send_keys(userlist[i]['password'])time.sleep(0.1)loginbt=driver.find_element_by_id('dologin')loginbt.click()time.sleep(3)try:assert '网易邮箱' in driver.titleexcept AssertionError:print '用户%s邮箱登录失败'%(userlist[i]['name'])else:print '用户%s邮箱登录成功'%(userlist[i]['name'])finally:driver.quit()if __name__=='__main__':Login()

四,关键字驱动测试

1.概念:

通过关键字的改变从而驱动自动化测试的执行,最终引起测试结果的改变。关键字驱动工具有:RobotFramework(RIDE)。

2.优点

视频里有讲解

自动化测试【Requests接口自动化测试实战】

http://www.yayakq.cn/news/998057/

相关文章:

  • 企业宣传网站案例教育类网站框架
  • 怎样做网站导购网站外链推广工具
  • 龙岗做棋牌网站建设360建站模板
  • 网上销售平台有哪些seo智能优化公司
  • 网站更新内容怎么做wordpress 替换图片
  • 企业 网站备案 法人贵州移动端网站建设
  • 网站群建设指导意见百度号码认证平台首页
  • 服装设计网站怎么做iis搭建网站教程win7
  • 网站容易出现的问题吗物联网官网入口
  • 做网站后租服务器一年多少钱贵州省住房和城乡建设厅查询网站
  • 旅游网站的系统建设的意义直播间人气互动平台
  • 电商网站一个网站怎么推广
  • 电影网站怎么做友情链接深圳网站建设ue
  • 百度网站内容推广营销
  • 网站做备案关停会显示什么北邻京网站茵建设
  • 江苏建设人才是官方网站做网站建设平台
  • 上海长城建设有限公司网站自己做交易网站
  • 临沂网站建设首选浩瀚网络注册一个免费的网站吗
  • 深圳外贸网站怎么建网上做效果图的平台
  • 建设电子商务网站前的市场分析宿迁房产网租房
  • l礼品文化网站建设郑州福千欣隆网站建设有限公司
  • 重庆潼南网站建设报价和城乡建设部网站
  • 网站建设与网站设计东莞市传送机技术支持 网站建设
  • 如何提高wordpress后台的访问速度优化大师会员兑换码
  • 男女之间做那个的网站qq推广的方式有哪几种
  • .net网站搭建html网页素材
  • 网站动态图片制作免费制作企业宣传视频app
  • 网站制作 软件开发视频拍摄手法
  • 公众号开发网站营销与策划
  • 班级建设怎样建立班级网站房屋平面设计图软件