__author__ = 'Administrator'
#coding=utf-8
import time
import unittest
from selenium.common.exceptions import NoSuchElementException
from Page.P2PPage import *
import data.UserData
from parameterized import parameterized
from Common import CGI
import os,warnings
import string,random
from selenium import webdriver
import traceback
import ddt
@ddt.ddt
class test_P2PSet(unittest.TestCase):
action=P2PSetAction()
def setUp(self):
# 测试固件的setUp()的代码,主要是测试的前提准备工作
warnings.simplefilter('ignore', ResourceWarning)
self.imgs = []
# self.driver = eval(UserData.Driver)
def tearDown(self):
# 测试结束后的操作,这里基本上都是关闭浏览器
driver=self.action.dr
driver.delete_all_cookies()
driver.quit()
time.sleep(1)
ProcessName=UserData.Driver
if ("Firefox" in ProcessName):
# print(os.popen('taskkill /f /im firefox.exe').read())
CGI.ProcessHandle().ProcessKill('firefox.exe')
elif("Chrome" in ProcessName):
# print(os.popen('taskkill /f /im chrome.exe').read())
CGI.ProcessHandle().ProcessKill('chrome.exe')
elif("Ie" in ProcessName):
# print(os.popen('taskkill /f /im iexplore.exe').read())
CGI.ProcessHandle().ProcessKill('iexplore.exe')
@ddt.data([{"PORT":"88","Enable":"0","Save":"1","Rf":"1"}],
[{"PORT":"443","Save":"1","Rf":"1"}],
[{"PORT":"554","Save":"1","Rf":"1"}],
[{"PORT":"54321","Enable":"1","Save":"1","Rf":"1"}],
[{"PORT":"0","Enable":"0","Save":"1","Rf":"1"}]
)
@ddt.unpack
def test_041_P2PSet(self,para):
try:
print(para)
result=self.action.P2PModify(para)
except Exception:
# # result=[False,"test run error"]
traceback.print_exc()
self.imgs.append(self.action.dr.get_screenshot_as_base64())
# self.action.dr.get_screenshot_as_base64()
# raise Exception
finally:
if result==True:
self.assertTrue(result)
else:
self.imgs.append(self.action.dr.get_screenshot_as_base64())
self.assertTrue(result[0],result[1])
# self.action.dr.get_screenshot_as_base64()
def test_040_P2PCheck(self):
try:
result=self.action.P2PPortCheck()
print( result)
except Exception:
# # result=[False,"test run error"]
traceback.print_exc()
self.imgs.append(self.action.dr.get_screenshot_as_base64())
# self.action.dr.get_screenshot_as_base64()
# raise Exception
finally:
if result==True:
self.assertTrue(result)
else:
self.imgs.append(self.action.dr.get_screenshot_as_base64())
self.assertTrue(result[0],result[1])
# self.action.dr.get_screenshot_as_base64()
对比之前的parameterized,也是可可以扩展的,当然这个数据读取,你可以用各种读取方式,excel,xml,json,ini等等,上述举例直接数据,和parameterized相似,只是parameterized要求输入的是列表(里面多个参数以多个元组表示),ddt这里输入是元组(里面多个参数以多个列表显示)
结果如下: