当输入的教师信息不完整时,某些必填项没有填,那么将会出现提示“不能为空”,下面我们用自动化实现获取这个文本信息。
用.text来获取:text2=driver.find_element_by_id('ContentPlaceHolder1_RequiredFieldValidator2').text
注:下面用到的login模块在上一节中已说明,此处不再赘述。
#coding =utf-8
from selenium import webdriver
import time
import csv,login,unittest
from selenium.webdriver.common.alert import Alert #导入Alert模块,这个必须全写上
class Warning(unittest.TestCase):
def setUp(self):
self.driver=webdriver.Firefox()
self.base_url="http://localhost:5151/exam5/Login.aspx"
def test_warning(self):
driver=self.driver
driver.get(self.base_url)
login.login(self)
driver.find_element_by_id('TreeView1t1').click()
#读取文件
source=open('teacherinfo.csv','r')
data=csv.reader(source)
#
for key in data:
#清空输入框,每次把输入框清空一下,更加严谨
driver.find_element_by_id('ContentPlaceHolder1_txtTeaNum').clear() #key[]几代表第几列
driver.find_element_by_id('ContentPlaceHolder1_txtTeaName').clear()
driver.find_element_by_id('ContentPlaceHolder1_txtTeaPWD').clear()
print(key,end=',')
#输入信息
driver.find_element_by_id('ContentPlaceHolder1_txtTeaNum').send_keys(key[0]) #key[]几代表第几列
driver.find_element_by_id('ContentPlaceHolder1_txtTeaName').send_keys(key[1])
driver.find_element_by_id('ContentPlaceHolder1_txtTeaPWD').send_keys(key[2])
driver.find_element_by_id('ContentPlaceHolder1_btnAdd').click()
#取出提示框中的信息
try:
a=Alert(driver) #实例化Alert对象
print(' Alert:%s'%a.text) #打印警告信息5
a.accept() #接受警告(相当于点击“确定”按钮)
driver.get("http://localhost:5151/exam5/admin/teaInfoAdd.aspx")
#取出文本框后的提示信息:“不能为空”
except:
text1=driver.find_element_by_id('ContentPlaceHolder1_RequiredFieldValidator1').text#用.text方法
print(' text1:%s'%text1,end=',')
text2=driver.find_element_by_id('ContentPlaceHolder1_RequiredFieldValidator2').text
print(' text2:%s'%text2,end=',')
text3=driver.find_element_by_id('ContentPlaceHolder1_RequiredFieldValidator3').text
print(' text3:%s'%text3)
source.close()
def tearDown(self): #关闭火狐
self.driver.quit()
if __name__=="__main__":
unittest.main()