1.selenium实战之从txt文档读取配置信息并执行登录
前置条件:
1.本机已搭建ECShop3.0网站
2.在脚本目录创建了user.txt文本如下:


目的:实现从txt中读取配置文件信息,本实战中,包含url地址、用户名、密码,然后进行ESChop的登录
附上代码:
# -*- coding: utf-8 -*-
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import Select
from selenium.common.exceptions import NoSuchElementException
from selenium.common.exceptions import NoAlertPresentException
import unittest, time, re, codecs, os # 定义函数从文本读取内容
def getValue(txtPath):
# 读取文本的路径
fp = codecs.open(txtPath, 'r', encoding='utf-8')
# 定义空列表
listData = []
for item in fp.readlines():
# 去掉多余的空格,并放入到列表中
listData.append(item.rstrip())
# 关闭文件
fp.close()
# 返回文本内容列表
return listData class Test(unittest.TestCase):
def setUp(self):
# 初始化浏览器
self.driver = webdriver.Firefox()
# 设置全局等待时间
self.driver.implicitly_wait(30)
# 设置txt读取的路径
txtPath = os.getcwd() + '\\user.txt'
# 将返回的列表赋值给自己定义的values属性,便于在用例中调用
self.values = getValue(txtPath)
# 获取到访问的url地址,从values中取
self.base_url = self.values[0]
self.verificationErrors = []
self.accept_next_alert = True def test_(self):
driver = self.driver
driver.get(self.base_url)
# 定位用户名输入框
driver.find_element_by_name("username").clear()
# 定位用户名输入框并输入密码
driver.find_element_by_name("username").send_keys(self.values[1])
# 定位密码输入框
driver.find_element_by_name("password").clear()
# 定位密码输入框并输入密码
driver.find_element_by_name("password").send_keys(self.values[2])
# 定位登录按钮并点击
driver.find_element_by_css_selector("input.btn-a").click() def tearDown(self):
# 退出浏览器
self.driver.quit()
self.assertEqual([], self.verificationErrors) if __name__ == "__main__":
# 执行case
unittest.main()
1.selenium实战之从txt文档读取配置信息并执行登录的更多相关文章
- C++ txt文档读取
void readfile(string filepath){ ifstream myfile; if (!myfile) { cout << "打开文件出错!"; e ...
- C# 将内容写入txt文档
<1> FileStream fs = new FileStream(@"D:\text.txt", FileMode.Append); StreamWriter s ...
- QTP操作txt文档
QTP可以在txt文件(文本文件中读取数据) 首先创造一个文档对象 set fso = createObject("scripting.filesystemobject") 然后用 ...
- 利用IDL将一个txt文档拆分为多个
测试.txt文档,每47行的格式相同,通过代码每47行存为一个txt,txt文档命名为其第一行数据. 代码如下: file='G:\data\测试.txt' openr,lun,file,/Get_L ...
- elk实战分析nginx日志文档
elk实战分析nginx日志文档 架构: kibana <--- es-cluster <--- logstash <--- filebeat 环境准备:192.168.3.1 no ...
- 用matlab查找txt文档中的关键字,并把关键字后面的数据存到起来用matlab处理
用matlab查找txt文档中的关键字,并把关键字后面的数据存到起来用matlab处理 我测了一组数据存到txt文件中,是个WIFI信号强度文档,里面有我们需要得到的数据,有没用的数据,想用matla ...
- WebService 实现BS环境与BS环境传递参数,根据参数生成txt文档
客户端: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Client.as ...
- 将txt文档按行分割
昨天遇到了一个需求,需要将txt文档按行分割,并指定了行数, 最近在用python,就在网上搜了一下,在参考了http://blog.csdn.net/zhang_red/article/detail ...
- 用C++向一个txt文档中写数据
bool CMaked::WriteFileMake(CString filePath, const char *isChange) { ofstream file; //filePath为该txt文 ...
随机推荐
- php 文件压缩
1.php文件压缩代码: $zip = new ZipArchive;if($zip->open('aaa.zip',ZipArchive::OVERWRITE)===TRUE){ //aaa. ...
- 鼠标放上改变Button的大小
private void enterBtn_MouseLeave(object sender, MouseEventArgs e) { enterBtn.Wi ...
- Eclipse直接打开类文件/文件夹所在的本地目录
1.Eclipse原生的文件浏览操作 选择项目目录/文件 按 ALT+SHIFT +W , 会弹出菜单点击 System Explorer 就可以打开文件所在的本地目录了: 设置工具目录 Run -- ...
- Github SSH key 的配置
哈喽,新年好呀! 今天我又来更新一点github的内容啦~~ windows版本 一.打开git shell,输入指令操作ssh-keygen -t rsa -C “你的注册邮箱”,然后回车回车回车, ...
- PyCharm调试运行Scrapy教程
一.使用scrapy创建一个项目 这里使用scrapy官方第一个示例 scrapy startproject tutorial 使用PyCharm打开项目,在tutorial/tutorial/spi ...
- VSS+SourceAnywhere for VSS搭建版本控制系统教程
VSS:Microsoft Visual Source Safe,本教程使用VSS2005(好像2005就是官方更新的最后一版了). SourceAnywhere for VSS:分为服务端和客户端: ...
- jstack Dump 日志文件中的线程状态
[转]jstack Dump 日志文件中的线程状态 dump 文件里,值得关注的线程状态有: 死锁,Deadlock(重点关注) 执行中,Runnable 等待资源,Waiting on condi ...
- Maven 99.0-does-not-exist构建空包,排查依赖
空包作用 作用:强制排除所有对该包的依赖: 空包制作 构建一个空包pom.xml,如下图所示: <?xml version="1.0" encoding="UTF- ...
- matlab画图变粗脚本
http://blog.sina.com.cn/s/blog_708637950100uag0.html figure_FontSize=18;set(get(gca,'XLabel'),'FontS ...
- 【环境】新建Maven工程步骤及报错解决方法
新建Maven工程步骤: 1.打开eclipse,File-New-Other-Maven-Maven project 点击Finish,即可创建一个Maven工程.Maven是内置的,不需要额外下载 ...