zoukankan      html  css  js  c++  java
  • unittest实现批量处理测试集

    批量执行测试集

    #coding=utf-8
    from selenium import webdriver
    from selenium.webdriver.common.by import By
    from selenium.webdriver.common.keys import Keys
    from selenium.webdriver.support.ui import Select
    from selenium.common.exceptions import NoSuchElementException
    import unittest, time, re
    class Baidu(unittest.TestCase):
    def setUp(self):
    self.driver = webdriver.Firefox()
    self.driver.implicitly_wait(30)
    self.base_url = "http://www.baidu.com/"
    self.verificationErrors = []
    self.accept_next_alert = True
    #百度搜索用例
    def test_baidu_search(self):
    driver = self.driver
    driver.get(self.base_url + "/")
    driver.find_element_by_id("kw").send_keys("selenium webdriver")
    driver.find_element_by_id("su").click()
    time.sleep(2)
    driver.close()
    #百度设置用例
    def test_baidu_set(self):
    driver = self.driver
    #进入搜索设置页
    driver.get(self.base_url + "/gaoji/preferences.html")
    #设置每页搜索结果为 100 条
    m=driver.find_element_by_name("NR")
    m.find_element_by_xpath("//option[@value='100']").click()
    time.sleep(2)
    #保存设置的信息
    driver.find_element_by_xpath("//input[@value='保存设置']").click()
    time.sleep(2)
    driver.switch_to_alert().accept()
    def tearDown(self):
    self.driver.quit()
    self.assertEqual([], self.verificationErrors)
    if __name__ == "__main__":
    unittest.main()
    

     虽然已经实例了多个用例一起跑,但这样仍然不合理,几个用例一起执行还好,如果几十个、几百个的用例的话,这个文件将变得无比庞大,不利于维护。

    所以,做合理的做法是一个例一个文件,把所文件放一个文件夹下,通过单独的脚本控制所有用例的执行,将脚本的执行结果输出到一个 log 文件中。

    初步把框架走通了。

    单个用例他们整理一下放到一个文件夹下,然后编写执行用例集

    的脚本:

    test_case_.py
    #-*-coding=utf-8 -*-
    import os
    #列出某个文件夹下的所有 case,这里用的是 python,所在 py 文件运行一次后会生成一个 pyc
    的副本
    caselist=os.listdir('D:\selenium_use_case\test_case')
    for a in caselist:
    s=a.split('.')[1:][0] #选取所要执行的用例
    if s=='py':
    #此处执行 dos 命令并将结果保存到 log.txt
    os.system('D:\selenium_use_case\test_case\%s 1>>log.txt 2>&1'%a)
    

      查看 log.txt 文件:

    ..
    ----------------------------------------------------------------------
    Ran 2 tests in 32.469s
    OK
    ..
    ----------------------------------------------------------------------
    Ran 2 tests in 27.016s
    OK

  • 相关阅读:
    可视化开发_AppInventor2似乎被抛弃了
    PHP内核学习(一)SAPI
    代码整洁之道(一)理论篇
    Silence.js高效开发移动Web前端类库
    梦游前端,JavaScript兼容性
    20分钟入门正则表达式
    原生Javascript 省市区下拉列表插件
    Tortoise-SVN 出现“unable to connect to a repository at url no element found”解决办法
    PHP实现好友生日邮件提醒
    第一份工作
  • 原文地址:https://www.cnblogs.com/101718qiong/p/7412294.html
Copyright © 2011-2022 走看看