邢台同城,seo怎么推排名,中国廉政建设网网站,做网站的实施过程#x1f345; 点击文末小卡片#xff0c;免费获取软件测试全套资料#xff0c;资料在手#xff0c;涨薪更快在Web自动化测试中#xff0c;我们需要把测试使用到的数据分离到文件中#xff0c;如果单纯的写在我们的测试模块里面#xff0c;不是一个好的设计#xff0c;所…点击文末小卡片免费获取软件测试全套资料资料在手涨薪更快在Web自动化测试中我们需要把测试使用到的数据分离到文件中如果单纯的写在我们的测试模块里面不是一个好的设计所以不管是什么类型的自动化测试都是需要把数据分离出来的。当然分离到具体的文件里面文件的形式其实有很多的这里主要说明JSON的文件和YAML的文件在UI自动化测试中的应用。JSON文件JSON库主要应用于序列化以及反序列化中特别是在API的自动化测试中序列化以及反序列化是知识体系里面必须需要掌握的技术栈的体系。当然我们也是可以针对文件进行序列话和反序列化的处理针对文件的序列化可以简单的理解为就是把第三方的数据写到文件里面使用JSON库里面的方法是dump() 方法。那么针对文件的反对序列化可以理解为是从文件中读取数据使用到的JSON库里面的load()的方法下面主要是针对UI自动化测试的数据进行分离。具体代码为import unittest from parameterized import parameterized,param from selenium import webdriver import time as t #parameterized是参数化库 class AddTest(unittest.TestCase): def setUp(self) - None: self.driverwebdriver.Chrome() self.driver.maximize_window() self.driver.implicitly_wait(30) self.driver.get(https://mail.sina.com.cn/#) def tearDown(self) - None: self.driver.quit() parameterized.expand([ param(,,请输入邮箱名), param(srtSA,saert,您输入的邮箱名格式不正确), param(aserSDAsdsina.com,asdfrty,登录名或密码错误) ]) def test_sina_email(self,username,password,result): t.sleep(2) self.driver.find_element_by_id(freename).send_keys(username) t.sleep(2) self.driver.find_element_by_id(freepassword).send_keys(password) t.sleep(2) self.driver.find_element_by_link_text(登录).click() t.sleep(3) divself.driver.find_element_by_xpath(/html/body/div[3]/div/div[2]/div/div/div[4]/div[1]/div[1]/div[1]/span[1]) assert div.textresult if __name__ __main__: unittest.main(verbosity2)在如上的文件中可以看到我们可以把测试的数据分离到JSON文件中分离的数据具体为{ data: [ {username: ,password: ,text: 请输入邮箱名}, {username: srtSA,password: saert,text: 您输入的邮箱名格式不正确}, {username: aserSDAsdsina.com,password: asdfrty,text: 登录名或密码错误} ] }完善后的测试脚本为import unittest from parameterized import parameterized,param from selenium import webdriver import time as t import json def readJson(): return json.load(open(sina.json))[data] class AddTest(unittest.TestCase): def setUp(self) - None: self.driverwebdriver.Chrome() self.driver.maximize_window() self.driver.implicitly_wait(30) self.driver.get(https://mail.sina.com.cn/#) def tearDown(self) - None: self.driver.quit() parameterized.expand([ param(readJson()[0][username],readJson()[0][password],readJson()[0][text]), param(readJson()[1][username],readJson()[1][password],readJson()[1][text]), param(readJson()[2][username],readJson()[2][password],readJson()[2][text]) ]) def test_sina_email(self,username,password,result): t.sleep(2) self.driver.find_element_by_id(freename).send_keys(username) t.sleep(2) self.driver.find_element_by_id(freepassword).send_keys(password) t.sleep(2) self.driver.find_element_by_link_text(登录).click() t.sleep(3) divself.driver.find_element_by_xpath(/html/body/div[3]/div/div[2]/div/div/div[4]/div[1]/div[1]/div[1]/span[1]) assert div.textresult if __name__ __main__: unittest.main(verbosity2)YAML文件下面演示把测试数据存储到YAML文件里面分离出来的文件内容为username: password: text: 请输入邮箱名 --- username: srtSA password: saert text: 您输入的邮箱名格式不正确 --- username: aserSDAsdsina.com password: asdfrty text: 登录名或密码错误完善后的测试脚本为import unittest from parameterized import parameterized,param from selenium import webdriver import time as t import json import yaml def readJson(): return json.load(open(sina.json))[data] def readYaml(): with open(sina.yaml) as f: return list(yaml.unsafe_load_all(f)) class AddTest(unittest.TestCase): def setUp(self) - None: self.driverwebdriver.Chrome() self.driver.maximize_window() self.driver.implicitly_wait(30) self.driver.get(https://mail.sina.com.cn/#) def tearDown(self) - None: self.driver.quit() parameterized.expand([ param(readYaml()[0][username],readYaml()[0][password],readYaml()[0][text]), param(readYaml()[1][username],readYaml()[1][password],readYaml()[1][text]), param(readYaml()[2][username],readYaml()[2][password],readYaml()[2][text]) ]) def test_sina_email(self,username,password,result): t.sleep(2) self.driver.find_element_by_id(freename).send_keys(username) t.sleep(2) self.driver.find_element_by_id(freepassword).send_keys(password) t.sleep(2) self.driver.find_element_by_link_text(登录).click() t.sleep(3) divself.driver.find_element_by_xpath(/html/body/div[3]/div/div[2]/div/div/div[4]/div[1]/div[1]/div[1]/span[1]) assert div.textresult if __name__ __main__: unittest.main(verbosity2)上文详细的总结了Web自动化测试中我们可以把使用到的测试数据分离到JSON文件和YAML的文件这样达到了数据的分离目的是让测试更加简单和高效。最后感谢每一个认真阅读我文章的人礼尚往来总是要有的虽然不是什么很值钱的东西如果你用得到的话可以直接拿走这些资料对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴我走过了最艰难的路程希望也能帮助到你凡事要趁早特别是技术行业一定要提升技术功底。