seleniumデータ駆動テスト--簡単な例
1254 ワード
from selenium import webdriver
import unittest
import ddt,time
@ddt.ddt
class datadriver(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Firefox(executable_path='f://geckodriver')
@ddt.data([' ',' '],[' ',' '],[' ',' '])
@ddt.unpack
def test_datadriverByObj(self,testdata,expectdata):
url = 'http://www.baidu.com'
self.driver.get(url)
self.driver.implicitly_wait(10)
try:
self.driver.find_element_by_id('kw').send_keys(testdata)
self.driver.find_element_by_id('su').click()
time.sleep(3)
#
self.assertTrue(expectdata in self.driver.page_source)
except :
print(' ')
def tearDown(self):
self.driver.quit()
if __name__=='__main__':
unittest.main()
unpack装飾器を追加したのは元祖、リスト、辞書を分解してテストケースに伝えることです.
通常、dataのデータはパラメータに従ってテスト例に渡され、dataにメタグループ、リスト、辞書などのデータが含まれている場合、デフォルトはpack(パッケージ)であり、1つのリストが変数として関数に渡される変数である.リストのデータを分解する場合は@unpackを付けなければなりません.
@data([a,b],[c,d],[f,g])に@unpackがない場合、[a,b]リストは、パラメータとして試験用例に@unpackが渡され、[a,b]が分解され、2つのパラメータa,bとして試験用例にそれぞれ渡される