哪个公司能提供专业的网站制作服务,并创建网站的根目录?
摘要:创建网站根目录,网站制作是什么公司,公众号号文章转wordpress,基于5G的网站设计unittest框架 1)测试固件 1)setUp()是用来初始化测试环境所做的工作 2)tearDown()是用来清理环境所做的工作 2)测试套件 把
创建网站根目录,网站制作是什么公司,公众号号文章转wordpress,基于5G的网站设计unittest框架 1)测试固件 1)setUp()是用来初始化测试环境所做的工作 2)tearDown()是用来清理环境所做的工作 2)测试套件 把不同的测试脚本#xff0c;不同类中的测试用例给组织起来放到一个测试套中执行 3)测试用例的要以test_开头 4)如何使用unittest框架 只需要在脚本中定义… unittest框架 1)测试固件 1)setUp()是用来初始化测试环境所做的工作 2)tearDown()是用来清理环境所做的工作 2)测试套件 把不同的测试脚本不同类中的测试用例给组织起来放到一个测试套中执行 3)测试用例的要以test_开头 4)如何使用unittest框架 只需要在脚本中定义一个类继承于unittest.TestCase即可 verbosity是一个选项,表示测试结果的信息复杂度有0、1、2 三个值
0 (静默模式): 你只能获得总的测试用例数和总的结果 比如 总共10个 失败2 成功8
1 (默认模式): 非常类似静默模式 只是在每个成功的用例前面有个“.” 每个失败的用例前面有个 “F”
2 (详细模式):测试结果会显示每个测试用例的所有相关的信息 创建两个类进行测试: from selenium import webdriver
import unittest
import time
import os
class Baidu1(unittest.TestCase):
# 测试固件def setUp(self):print(-----setUp----)self.driverwebdriver.Edge(C://Users//18947//AppData//Local//Programs//Python//Python310//msedgedriver.exe)self.urlhttp://www.baidu.com/self.driver.maximize_window()time.sleep(3)def tearDown(self):print(------tearDown----)self.driver.quit()# 测试用例 忽略测试用例的执行# unittest.skip(skipping)def test_hao(self):driverself.driverurlself.urldriver.get(url)driver.find_element_by_link_text(hao123).click()time.sleep(3);def test_hbaidu(self):driverself.driverurlself.urldriver.get(url)driver.find_element_by_id(kw).send_keys(突如其来的假期)time.sleep(3)driver.find_element_by_id(su).submit()print(driver.title)self.savescreenAsPhoto(driver,.jpg)time.sleep(5)def savescreenAsPhoto(self,driver,file_name):if not os.path.exists(./image):os.makedirs(./image)nowtime.strftime(%Y%m%d-%H%M%S,time.localtime(time.time()))driver.get_screenshot_as_file(./image/now-file_name)time.sleep(3)if __name__ __main:unittest.main() # coding utf8
from selenium import webdriver
import unittest
import time
# 导入By模块
from selenium.webdriver.common.by import By
from selenium.common.exceptions import NoAlertPresentException
from selenium.common.exceptions import NoSuchElementException
class TestBaiduTwo(unittest.TestCase):def setUp(self):#获得浏览器的驱动self.driverwebdriver.Chrome()#让浏览器窗口最大化self.driver.implicitly_wait(3)self.base_urlhttp://www.baidu.com/self.driver.maximize_window()self.array[]self.flag Truedef tearDown(self):self.driver.quit()self.assertEqual([],self.array)def test_hao(self):driverself.driverdriver.get(self.base_url)driver.find_element_by_link_text(新闻).click()time.sleep(3)def test_baidusearch(self):driverself.driverdriver.get(self.base_url)driver.find_element_by_id(kw).clear()driver.find_element_by_id(kw).send_keys(庆余年)driver.find_element_by_id(su).click()#选择通过什么方式来进行获取元素,value是什么属性self.is_element_present(By.ID, su).click()time.sleep(3)def is_element_present(self,how,what):try:elementself.driver.find_element(byhow,valuewhat)except NoSuchElementException as e:return elementreturn elementdef is_alert_present(self):try:self.driver.switch_to.alert()except NoAlertPresentException as e:return Falsereturn Truedef close_alert_and_get_its_text(self):try:#获取到alert弹出框alertself.driver.switch_to_alert()#获取到alert弹出框中的文字alert_textalert.textif self.flag:alert.accept()else:alert.dismiss()return alert_textfinally:self.flag Trueif __name__ __main__:unittest.main(verbosity2) 1)以test_开头命名的方法是测试方法在运行整个类的时候会默认执行。 2)unittest提供了全局的main()方法使用它可以方便地将一个单元测试模块变成可以直接运行的测试脚本main()方法搜索所有包含在该模块中以”test命名的测试方法并自动执行他们 unittest里面有四个很重要的概念test fixturetest casetest suitetest runnerTest Fixture 1)对一个测试用例环境的搭建和销毁就是一个fixture通过覆盖setUp()和tearDown()方法来实现setUp()方法可以进行测试环境的搭建比如获取待测试浏览器的驱动或者如果测试中需要访问数据库那么可以在setUp()中通过建立数据库连接来进行初始化 2)tearDown()方法进行环境的销毁可以进行关闭浏览器关闭数据库连接清除数据库中产生的数据等操作Test Case一个TestCase的实例就是一个测试用例测试用例就是一个完整的测试流程包括测试前准备环境的搭建(setUp)实现测试过程的代码以及测试后环境的还原(tearDown)单元测试(unit test)的本质就在这里一个测试用例就是一个完整的测试单元可以对某一个功能进行验证 TestSuite 一个功能的验证往往需要多个测试用例可以把多个测试用例集合在一起执行这个就产生了测试套件TestSuite的概念Test Suit用来将多个测试用例组装在一起 test Runner test Runner测试的执行也是非常重要的一个概念在unittest框架中通过TextTestRunner类提供的run()方法来执行test suite/test case addTest() 1)TestSuite类的addTest()方法可以把不同的测试类中的测试方法组装到测试套件中但是addTest()一次 2)只能把一个类里面的一个测试方法组装到测试套件中 但是上述做法有两个不方便的地方阻碍脚本的快速执行必须每次修改testsuite.py 1)需要导入所有的相关的py文件比如 import testbaidu1每新增一个脚本就需要导入一个 2)addTest一次只能增加一个测试方法如果一个py文件中有10个测试方式如果都要组装到测试套件中就需要增加10次 import unittestimport TestBaiduOne
import TestBaiduTwodef createsuite():suite unittest.TestSuite()suite.addTest(TestBaiduOne.Baidu1(test_hao))suite.addTest(TestBaiduTwo.Baidu2(test_baidusearch))suite.addTest(TestBaiduTwo.Baidu2(test_hao))return suite
if __name____main__:suite createsuite()runnerunittest.TextTestRunner(verbosity2)runner.run(suite) 跑测试套件用例步骤: 1)先进行生成测试套件 2)得到跑测试套件的runner 3)用runner去跑测试套件 把一个类中的所有测试用例都添加到一个测试套件里面 1)使用unittest.makeSuite def createsuite():suitunittest.TestSuitesuit.addTest(unittest.makeSuite(TestBaiduOne.Baidu1))suit.addTest(unittest.makeSuite(TestBaiduTwo.Baidu2))return suite
if __name____main__:suite createsuite()runnerunittest.TextTestRunner(verbosity2)runner.run(suite)
