C#系统实战(2):把登录模块化,用login.login(self)调用

因为所有操作之前都要进行登录,如果每次都写一遍登录太繁琐了,我们把登录模块化,以后只要用到它就调用一下就可以了。

1、首先把登录的代码放到login.py的login函数中

#输入密码,下拉列表框中选择“管理员”,点击“登录”
#coding=utf-8
from selenium import webdriver
import unittest
def login(self):
    driver=self.driver
    driver.maximize_window()
    driver.find_element_by_id("txtUserPwd").send_keys("maomao")
    m=driver.find_element_by_id('ddlUser')
    m.find_element_by_xpath("//option[@value='2']").click()#二次定位:先找到列表框,再找到待选项
    driver.find_element_by_name('btnOK').click()

2、通过login.login(self)来调用登录,第一个login是文件名,第二个login是函数名

#coding=utf-8
from selenium import webdriver
import time
import csv
import login
import unittest   #unittest是一个单元测试框架
from selenium.webdriver.common.alert import Alert  #导入Alert模块,这个必须全写上
class Login(unittest.TestCase): 
    def setUp(self):    #环境搭建setUp
        self.driver=webdriver.Firefox()
        self.base_url="http://localhost:5151/exam5/Login.aspx"
    def test_login(self):  #主模块 
        driver=self.driver  #获取到driver,以后就可以直接用driver,否则就一直得用self.driver
        driver.get(self.base_url)
        login.login(self)  #调用登录模块  (把driver传过去)
        #打开添加教师信息界面
        driver.find_element_by_id('TreeView1t1').click()
       #从.csv文件中读取信息
        source=open("teacherinfo.csv",'r')
        data=csv.reader(source)
       #从.csv文件中读取信息,填入文本框中
        for key in data:
            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(a.text) #打印警告信息
                a.accept() #接受警告(相当于点击“确定”按钮)
                driver.get("http://localhost:5151/exam5/admin/teaInfoAdd.aspx")  #再次回到添加教师信息界面
            except:
                print("no alerts display")
        source.close()
    def tearDown(self):  #关闭火狐
        self.driver.quit()
          
if __name__=="__main__":
    unittest.main()
        

   


猜你喜欢

转载自blog.csdn.net/qq_34173491/article/details/80765668
今日推荐