• Unittest框架和WebDriver


    Unittest框架和WebDriver

     Unittest

     Unittest的使用

     1  import unittest
     2  
     3  class Test1(unittest.TestCase):
     4      @classmethod
     5      def setUpClass(self):
     6          print("execute setUpClass")
     7  
     8      @classmethod
     9      def tearDownClass(self):
    10          print("execute tearDownClass")
    11  
    12      def setUp(self):
    13          print("execute setUp")
    14  
    15      def tearDown(self):
    16          print("execute tearDown")
    17  
    18      def test_one(self):
    19          print('execute test_one')
    20          self.assertTrue('FOO'.isupper())
    21  
    22      def test_two(self):
    23          print('execute test_two')
    24  
    25  
    26  if __name__ == '__main__':
    27      unittest.main()

     

    模拟键盘鼠标移动

    键盘:

    dd.find_element_by_....(...).send_keys(Keys.ENTER) 点击Enter

    .......................................(Keys.BACK_SPACE) 点击BACK_SPACE

    .......................................(Keys.CONTROL,"a") 全选

    .......................................(Keys.CONTROL,"c") 复制

    .......................................(Keys.CONTROL,"v") 粘贴

    .......................................(Keys.CONTROL,"x") 剪切

    鼠标:

    ActionChains(dd).double_click(定位到的一个具体页面控件).perform() 双击

    .................context_click................................... 右键

    .................move_to_element................................. 光标悬停悬浮

    1 #双击
    2 ActionChains(dd).double_click(dd.find_element_by_xpath(".//*[@id='s-menu-1']/button")).perform()
    3 #右键
    4 ActionChains(dd).context_click(dd.find_element_by_xpath(".//*[@id='s-menu-1']/button")).perform()
    5 #光标悬停悬浮
    6 ActionChains(dd).move_to_element(dd.find_element_by_xpath(".//*[@id='s-menu-1']/button")).perform()

    滚动条:

    滚动条拖到底部

    js="var q=document.documentElement.scrollTop=10000"

    dd.execute_script(js)

    滚动条拖到顶部

    js="var q=document.documentElement.scrollTop=0"

    dd.execute_script(js)

    1  js="var q=document.documentElement.scrollTop=10000"
    2  dd.execute_script(js)
    3  time.sleep(3)
    4  js="var q=document.documentElement.scrollTop=0"
    5  dd.execute_script(js)

     

    文件处理

    文件:

    打开一次只能读或者写,不能同时进行

    ff=open("文件名","打开方式")

     

    ff.write("写入内容")

    w+: 如果文件不存在,新建一个写,如果文件存在,新建一个覆盖

    a+: 如果文件不存在,新建一个写,如果文件存在,在文件末尾追加 【焦点默认在最后】

    r+: 如果不文件不存在,报错,如果文件存在,从前往后覆盖

     

    ff.read(数字):读数字个字符 【从当前焦点开始】

    ff.read():读所有内容 【从当前焦点开始】

    ff.readline():读一行 【从当前焦点开始】

    ff.readlines():读所有行 list类型,每一行都是list内的元素 【从当前焦点开始】

     

    ff.tell(): 返回当前焦点位置

    ff.seek(数字):焦点跳转到数字位置

     

    ff.close() :关闭

    csv文件:

    import csv:

    读:

     1 ff=open("aaa.csv","r+") #打开csv文件
     2 cr=csv.reader(ff,dialect="excel")
     3 
     4 cr:文件内容,循环获取每一行内容
     5 
     6 for c in cr:
     7 
     8 print(c)
     9 
    10 ff.close() #关闭

    写:

    1  ff=open("bbb.csv","w+") #创建csv文件
    2  cw=csv.writer(ff) #创建csv文件写加载器
    3  
    4  cw.writerow(写入内容) #通过加载器写数据到csv文件
    5  
    6  ff.close() #关闭

    测试报告

     1  import unittest
     2  from HTMLTestRunner import HTMLTestRunner
     3  
     4  import test11
     5  
     6  suite=unittest.TestSuite() #创建测试套件对象
     7  loader=unittest.TestLoader()#创建测试用例加载器对象
     8  suite.addTest(loader.loadTestsFromModule(test11))#通过用例加载器加载用例到测试套件
     9  
    10  ff=open("testReport.html","wb+") #创建测试报告文件
    11  #创建HTMLTestRunner对象
    12  runer=HTMLTestRunner(stream=ff,title="然之测试", description="然之测试然之测试然之测试然之测试")
    13  runer.run(suite) #通过HTMLTestRunner对象执行测试用例
    14  ff.close() #关闭报告文件
  • 相关阅读:
    关于WinForm控件在asp.net中应用的问题。
    评“SuperMap Objects"
    news about matlab r2006a
    one good website for opensource
    a WebSite for MapXtreme2005 Crack
    Asp.net RegularExpressionValidator 控件验证输入值验证输入值是否匹配正则表达式指定的模式
    EditPlus配置手记
    关于asp.net中页面事件加载的先后顺序
    Jquery汇总
    JavaScript必看资源
  • 原文地址:https://www.cnblogs.com/hereisdavid/p/13605010.html
Copyright © 2020-2023  润新知