# -*- coding:utf-8 -*-
from selenium import webdriver
import xlrd
import xlwt
from xlutils.copy import copy
import time class Batchauto:
def __init__(self,x,y):
self.x = x
self.y = y def auto_brower(self):
#打开浏览器
open_brower = webdriver.Chrome()
url = "http://xxxxx"
open_brower.get(url) #读取文件
read_file = r"C:\Users\admin\Desktop\py\auto\auto_denglu.xls"
book = xlrd.open_workbook(read_file)
#sheet的表格中,已经命名sheet为“denglu”
read_file_sheet = book.sheet_by_name("denglu") #获取文件内容
user_value = read_file_sheet.cell_value(self.x,self.y)
pwd_value = read_file_sheet.cell_value(self.x,self.y+1) #填写内容
time.sleep(2)
open_brower.find_element_by_id("userName").send_keys(user_value)
open_brower.find_element_by_id("password").send_keys(pwd_value)
open_brower.find_element_by_id("submit").click() time.sleep(5) #判断登录成功后是否有该元素存在
try:
open_brower.find_element_by_xpath("//a[@href='user/confirm.jsp?userName=XXX']")
tag = u"登录成功"
except:
tag = u"登录失败" print tag #填写文件内容,xlrd只有只读没有只写,所以,需要用过xlutils的copy获得写的能力,xlutils相当于xlrd和xlwt的通道
book_rw = copy(book)
book_rw_sheet = book_rw.get_sheet("denglu")
book_rw_sheet.write(self.x,self.y+2,tag) book_rw.save(read_file) time.sleep(2)
open_brower.close() if __name__ == "__main__":
#只需要定位X、y的初始位置即可
for x in range(0,3):
y = 0
ba = Batchauto(x,y)
ba.auto_brower()

最后Excel结果显示为:

【自动化测试】搭建一个简单从Excel读取用例内容并输出结果的脚本的更多相关文章

  1. 利用poi包装一个简单的Excel读取器.一(适配一个Reader并提供readLine方法)

    通常,读文本我们会使用BufferedReader,它装饰或者说管理了InputStreamReader,同时提供readLine()简化了我们对文本行的读取.就像从流水线上获取产品一样,每当取完一件 ...

  2. 用nodejs搭建一个简单的服务器

    使用nodejs搭建一个简单的服务器 nodejs优点:性能高(读写文件) 数据操作能力强 官网:www.nodejs.org 验证是否安装成功:cmd命令行中输入node -v 如果显示版本号表示安 ...

  3. 用java从0生成一个简单的excel

    用java从0生成一个简单的excel 目标 用代码实现对一个excel的基础操作,包括创建,插入文字,(好像就这些了),生成的excel可以用wps打开,如果直接用c++的文件流会生成假的xls表格 ...

  4. 【netty】(2)---搭建一个简单服务器

    netty(2)---搭建一个简单服务器 说明:本篇博客是基于学习慕课网有关视频教学.效果:当用户访问:localhost:8088 后 服务器返回 "hello netty"; ...

  5. 用express搭建一个简单的博客系统

    转自:https://blog.csdn.net/qq_29721837/article/details/62055603 Express 简介 Express 是一个简洁而灵活的 node.js W ...

  6. 利用 nodeJS 搭建一个简单的Web服务器(转)

    下面的代码演示如何利用 nodeJS 搭建一个简单的Web服务器: 1. 文件 WebServer.js: //-------------------------------------------- ...

  7. 初学Node(六)搭建一个简单的服务器

    搭建一个简单的服务器 通过下面的代码可以搭建一个简单的服务器: var http = require("http"); http.createServer(function(req ...

  8. 使用gitblit搭建一个简单的局域网服务器

    使用gitblit搭建一个简单的局域网服务器 1.使用背景 现在很多使用github管理代码,但是github需要互联网的支持,而且私有的git库需要收费.有一些项目的代码不能外泄,所以,搭建一个局域 ...

  9. Golang学习-第二篇 搭建一个简单的Go Web服务器

    序言 由于本人一直从事Web服务器端的程序开发,所以在学习Golang也想从Web这里开始学起,如果对Golang还不太清楚怎么搭建环境的朋友们可以参考我的上一篇文章 Golang的简单介绍及Wind ...

随机推荐

  1. git的操作集合

    一.git 操作 $ git branch -a //查看远程分支$ git branch //查看本地分支 $ git branch -d <BranchName>//删除本地分支$ g ...

  2. [转] C/C++ 调用Python

    from :  https://cyendra.github.io/2018/07/10/pythoncpp/ 目录 前言 官方文档 环境搭建 编译链接 Demo 解释器 初始化 GIL Object ...

  3. codeforces 1153 D

    cf-551-div2-D C. Serval and Parenthesis Sequence 题意:给定由'(',')','?'组成的字符串,问是否能将其中的?全部换成'(‘,’)'使得字符串的任 ...

  4. c++消息队列的实现

      #ifndef NET_FRAME_CONCURRENT_QUEUE_H #define NET_FRAME_CONCURRENT_QUEUE_H #include <queue> # ...

  5. 【codechef】FN/Fibonacci Number

    题意 给出 c 和 P ,求最小的非负整数 n 使得 \(Fib(n)=c(mod~ P)\) 其中 P 是质数且 模 10 等于一个完全平方数(也就是说 P 的末位是个完全平方数,那么只能是 1 或 ...

  6. FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=AGENT_ERROR_TRANSPORT_INIT(197)”

    https://stackoverflow.com/questions/29188789/eclipse-mac-os-x-debug-error-fatal-error-in-native-meth ...

  7. 《剑指offer》数组中的逆序对

    本题来自<剑指offer> 反转链表 题目: 思路: C++ Code: Python Code: 总结:

  8. windows安装多个python及pip版本

    windows安装多个python及pip版本 1.下载所需要的python2和python3安装包 2.一路next 3.设置环境变量 4.修改python安装目录下的可执行程序名称 5.在cmd中 ...

  9. centos/redhat/ubuntu不同之处

    前言:最近用久了ubuntu,发现这个和centos还是有很大差别的,以下是我的个人总结: centos/redhat/ubuntu不同之处: 1.关系理解:centos和redhat,你可以理解为是 ...

  10. java web项目部署到tomcat 8.5 此驱动程序不支持 Java Runtime Environment (JRE) 1.8 版。请使用支持 JDBC 4.0 的 sqljdbc4.jar 类库

    1:项目使用的是jre1.8版本. 2:服务器 apache-tomcat-8.5.23 报错如下: 严重 [com.mchange.v2.async.ThreadPoolAsynchronousRu ...