做网站官网需多少钱/百中搜
一、实践准备
在 UI 自动化测试中,也可以把测试的数据数据存储在后缀为 txt 的记事本文件中,对记事本的操作一般包含读写文件和写入文件。
其中,r 为只读属性,r+ 是读写属性,w 是只写属性,w+ 是读写属性,a+ 是读写方式。
下面实现向记事本中写入文本内容再读出来,实现代码如下:
def txt():
'''对记事本操作'''
f = open('file1.txt','w')
f.write('记事本')
f.close()
f = open('file1.txt','r')
print(f.read())
f.close()#文件打开后记得关闭
txt()
f = open('file1.txt','w') 表示不管当前路径下是否存在 file1.txt,都会创建一个记事本文件,文件打开后切记要关闭。
可以通过 with 的方式实现系统内部的文件关闭处理而不需要专门关闭文件,实现代码如下:
def txt():
'''对记事本的操作'''
with open('file2.txt','w') as f:
f.write('第二个记事本')
with open('file2.txt','r') as f:
print(f.read())
txt()
二、实践
1、以新浪登录页面为例,记事本 sina.txt 文件内容如下(第一行是空的):
admin
请输入邮箱名
您输入的邮箱名格式不正确
admin@sina.com
登录名或密码错误
请输入密码
2、实现脚本如下:
__author__ = "XXX"
import unittest
from selenium import webdriver
import os
import time as t
def getTxtData(index):
with open(os.path.join(os.path.dirname(__file__),'sina.txt'),'r',encoding='utf-8') as f:
d = f.readlines()
return d[index]
class SinaLogin(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Chrome()
self.driver.maximize_window()
self.driver.get('http://mail.sina.com.cn/')
self.driver.implicitly_wait(30)
def tearDown(self):
t.sleep(3)
self.driver.quit()
def login(self,username,password):
'''验证:测试新浪邮箱登录N中情况'''
self.driver.find_element_by_id('freename').send_keys(username)
self.driver.find_element_by_id('freepassword').send_keys(password)
self.driver.find_element_by_link_text(u'登录').click()
def divText(self):
divText = self.driver.find_element_by_xpath('/html/body/div[1]/div/div[2]/'
'div/div/div[4]/div[1]/div[1]/div[1]/span[1]')
# 在freeError-span[1]里,根据情况输入情况变化的
return (divText.text).encode('utf-8')
def divText2(self):
divText = self.driver.find_element_by_xpath('/html/body/div[1]/div/div[2]/'
'div/div/div[4]/div[1]/div[1]/div[1]/span[2]')
# 在freeError-apan[2]里,根据情况输入情况变化的
return (divText.text).encode('utf-8')
def test_username_password_null(self):
'''验证:测试用户名和密码都为空的错误提示信息'''
# 都为空,提示:请输入邮箱名
self.login(getTxtData(0),getTxtData(0))
self.assertTrue(self.divText(),getTxtData(2))
def test_sina_password_null(self):
'''验证:测试用户为空密码不为空的错误提示信息'''
# 用户名:空,密码:admin,提示:请输入邮箱名
self.login(getTxtData(0), getTxtData(1))
self.assertTrue(self.divText(), getTxtData(2))
def test_sina_username_format(self):
'''验证:测试用户邮箱格式不正确的错误提示信息'''
# 用户名:admin@sina.com,密码:空,提示:请输入密码
self.login(getTxtData(4), getTxtData(0))
self.assertTrue(self.divText2(), getTxtData(6))
if __name__ == '__main__':
unittest.main(verbosity=2)
以上,sina.txt 文件就在当前目录下,三个测试用例不分先后执行的。效果如下:
谢谢查看!
2019-11-17