前置条件:

  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文档读取配置信息并执行登录的更多相关文章

  1. C++ txt文档读取

    void readfile(string filepath){ ifstream myfile; if (!myfile) { cout << "打开文件出错!"; e ...

  2. C# 将内容写入txt文档

    <1>  FileStream fs = new FileStream(@"D:\text.txt", FileMode.Append); StreamWriter s ...

  3. QTP操作txt文档

    QTP可以在txt文件(文本文件中读取数据) 首先创造一个文档对象 set fso = createObject("scripting.filesystemobject") 然后用 ...

  4. 利用IDL将一个txt文档拆分为多个

    测试.txt文档,每47行的格式相同,通过代码每47行存为一个txt,txt文档命名为其第一行数据. 代码如下: file='G:\data\测试.txt' openr,lun,file,/Get_L ...

  5. elk实战分析nginx日志文档

    elk实战分析nginx日志文档 架构: kibana <--- es-cluster <--- logstash <--- filebeat 环境准备:192.168.3.1 no ...

  6. 用matlab查找txt文档中的关键字,并把关键字后面的数据存到起来用matlab处理

    用matlab查找txt文档中的关键字,并把关键字后面的数据存到起来用matlab处理 我测了一组数据存到txt文件中,是个WIFI信号强度文档,里面有我们需要得到的数据,有没用的数据,想用matla ...

  7. WebService 实现BS环境与BS环境传递参数,根据参数生成txt文档

    客户端: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Client.as ...

  8. 将txt文档按行分割

    昨天遇到了一个需求,需要将txt文档按行分割,并指定了行数, 最近在用python,就在网上搜了一下,在参考了http://blog.csdn.net/zhang_red/article/detail ...

  9. 用C++向一个txt文档中写数据

    bool CMaked::WriteFileMake(CString filePath, const char *isChange) { ofstream file; //filePath为该txt文 ...

随机推荐

  1. 安卓——Activity生命周期

      在xml 设计页面添加标签 xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:a ...

  2. rexec/rlogin/rsh介绍

    服务 是否需要密码 是否明文 功能 端口 rexec 是 是 远程执行命令 512 rlogin 是 是 远程登录得到shell 513 rsh 是 是 可远程执行命令,也可远程登录得到shell 5 ...

  3. linux 程序实现后台运行

    先上代码: getopt函数获取参数  -d 控制台控制运行  -D 后天运行  -h 调用show_help函数. 编译命令 gcc -g -W test.c -o test 注意后台运行 ./te ...

  4. sql 中,如何获取两个日期之前月数、周数、天数

    1.获取两个日期之间的月数.周数.天数语法 --1.获取两个日期之间的月数.周数.天数 --1.1)声明参数 ) ) --1.2)获取两个日期直接的月数 select DATEDIFF(MM,@sta ...

  5. ubuntu启用root登陆

    ubuntu系统不能够默认以root用户登陆系统如果你为了方便开发想每次登陆的时候以root用户登陆那么需要手动的做写更改打开终端 首先输入命令 sudo passwd  root更新你的密码然后输入 ...

  6. linux用户管理 查看用户信息

    LINUX系统中用户登录查看命令 W命令 [root@ssgao1987 ~]# w 04:57:01 up 11:50,  2 users,  load average: 0.00, 0.00, 0 ...

  7. shell 数值运算

    declare数值运算 linux默认变量类型为字符串 declare [+/-] [选项] 变量名 '-' 给变量设定类型属性 '+' 取消变量的类型属性 '-a' 将变量声明为数组型 '-i' 将 ...

  8. Uboot中汇编指令

    LDR(load register)指令将内存内容加载入通用寄存器 ARM是RISC结构,数据从内存到CPU之间的移动只能通过L/S指令来完成,也就是ldr/str指令.比如想把数据从内存中某处读取到 ...

  9. Spring Boot + Spring Cloud 实现权限管理系统 (集成 Shiro 框架)

    Apache Shiro 优势特点 它是一个功能强大.灵活的,优秀开源的安全框架. 它可以处理身份验证.授权.企业会话管理和加密. 它易于使用和理解,相比Spring Security入门门槛低. 主 ...

  10. 阿里十年架构经验总结的Java学习体系

    Java学习这一部分其实是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是我你是如何学习Java的,能不能给点建议?今天我是打算来点干货,因此咱们就不说一些学习方法和技巧了,直接来谈每个 ...