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

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

#输入密码,下拉列表框中选择“管理员”,点击“登录”
#coding=utf-8
from selenium import webdriver
import unittest
def login(self):driver=self.driverdriver.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):    #环境搭建setUpself.driver=webdriver.Firefox()self.base_url="http://localhost:5151/exam5/Login.aspx"def test_login(self):  #主模块 driver=self.driver  #获取到driver,以后就可以直接用driver,否则就一直得用self.driverdriver.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()

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

  1. 商城模块java_Java商城秒杀系统实战系列~构建SpringBoot多模块项目

    摘要:本篇博文是"Java秒杀系统实战系列文章"的第二篇,主要分享介绍如何采用IDEA,基于SpringBoot+SpringMVC+Mybatis+分布式中间件构建一个多模块的项 ...

  2. java 模块 分工_Java秒杀系统实战系列~构建SpringBoot多模块项目

    摘要:本篇博文是"Java秒杀系统实战系列文章"的第二篇,主要分享介绍如何采用IDEA,基于SpringBoot+SpringMVC+Mybatis+分布式中间件构建一个多模块的项 ...

  3. ios开发基础之通讯录系统实战-20

    ios开发基础之通讯录系统实战 基础知识 OC 基础 segue 的使用.delegate 代理的使用 自定义代理.面向对象思想 沙盒容器的数据持久化方案, controller 之间的跳转 ,登录方 ...

  4. 【爬虫剑谱】二卷4章 实战篇-模拟登录铁路12306网站(滑块验证)

    Python\网络爬虫\Selenium 一.源码 二.实战总结 问题一:不愿意代码模块化(常见于我这种菜狗+懒狗) 三.参考文献 一.源码 from selenium import webdrive ...

  5. java电商网站建设教程_java开发电商系统实战开发视频教程

    JAVA 当前位置:主页 > 编程教程 > JAVA > java开发电商系统实战开发视频教程 java开发电商系统实战开发视频教程 教程大小:4GB   发布时间:2018-07- ...

  6. Java秒杀系统实战系列~构建SpringBoot多模块项目

    摘要:本篇博文是"Java秒杀系统实战系列文章"的第二篇,主要分享介绍如何采用IDEA,基于SpringBoot+SpringMVC+Mybatis+分布式中间件构建一个多模块的项 ...

  7. ThinkPad物理机安装Linux系统实战企业级项目之CentOS安装

    ThinkPad物理机安装Linux系统实战企业级项目之CentOS安装 系统安装 下载CentOS系统制作系统U盘 笔记本电源设置 网络设置 WiFi类型查看验证设置联网 设置固定IP 安装MySQ ...

  8. 基于jQueryUI控件、oracle应用双机架构企业PMS系统实战课程-张勇-专题视频课程

    基于jQueryUI控件.oracle应用双机架构企业PMS系统实战课程-184人已学习 课程介绍         本套课程介绍的PMS系统中我们将 Bootstrap 应用到了 jQuery UI ...

  9. ASP.NET典型三层架构企业级医药行业ERP系统实战(8大模块22个子系统,价值3000万)...

    课程讲师:Tiger     课程分类:.net         适合人群:高级       课时数量:192课时       更新程度:完毕 我这里有一套课程和大家分享,我的qq是205905533 ...

最新文章

  1. 网络共享及排错+卷影副本
  2. Tensorflow 指令加速
  3. Spring Boot自定义横幅生成
  4. 批量替换 MySQL 指定字段中的字符串
  5. 广州计算机操作员培训,汕尾市计算机操作员报名考试时间地址及培训入口
  6. 简单的后台管理系统vue-cli3.0+element-ui
  7. 集群的可扩展性及其分布式体系结构(1)
  8. Idea代码统计工具
  9. 电话拨号器java_Android基础--电话拨号器
  10. 数据结构 python堆_Python中的堆栈数据结构是什么?
  11. sqlserver2008附加数据库——错误3415
  12. HDU-1548(BFS+剪枝)
  13. 《深度学习-改善深层神经网络》-第二周-优化算法-Andrew Ng
  14. 细数继承与派生(纯干货推荐)1.0
  15. 新版代shua社区源码(云商城1.0)
  16. 时钟系统安装配置注意事项
  17. 地铁综合监控系统网络方案,简化工作轻松应对客流高峰
  18. notability录音定位_请问如何在iPad上科学地使用good notes和notability?
  19. mac OS下的资源限制 以及 引出的ulimit, launchctl, sysctl区别
  20. 电力-端口映射与才茂DTU通信

热门文章

  1. html中文手文档,HTML5 中文参考手册(打印版)
  2. 《那些年,我们一起追的女孩》:他们台湾那些年
  3. chkdsk命令参数介绍
  4. audio 定义音频标签
  5. Java宣传推广页地址:
  6. 将U16类型转换成u32,float,u8字符串
  7. 9.1黑马Vue电商后台管理系统商品管理模块完善:编辑商品的功能
  8. 真材实料才是底气!华为某大佬从不加班,下班后不接电话,只因技术太牛,领导毫无办法!...
  9. lodash中difference、differenceBy、differenceWith有什么区别?
  10. 做有钱人并不难 四步让你成为有钱人