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() #关闭报告文件

 

posted @ 2020-09-02 23:04  HEREISDAVID  阅读(613)  评论(0编辑  收藏  举报