排序:
默认
按更新时间
按访问量

python反转list的三种方法

现有a = [1,2,3,4,5],现需要进行对a进行反转方法1:list(reversed(a))               reversed(a)返回的是迭代器,所以前面加个list转换为list方法2:sorted(a,reverse=True)方法3:a[: :-1]          ...

2018-05-22 15:50:35

阅读数:1

评论数:0

8、利用xlrd读取excel数据

在同一个sheet表中可以有多个表,表与表之间用空格来隔离,遇到空格,则认为这个表结束了。代码如下:import xlrdfile_path = "C:/Users/Administrator/Desktop/python/excel/1.xlsx"sheet_...

2018-04-16 22:18:36

阅读数:10

评论数:0

10、利用POI读取excel数据

自动化脚本和数据是分离的,这里是通过POI来实现excel的数据读取的。以下实现的是1个excel sheet表中可以分作多个表,判断一个表是否结束是根据空格来的。代码为:package common;import java.util.ArrayList;import java.util.Hash...

2018-04-16 22:04:22

阅读数:8

评论数:0

9、多线程执行脚本

前面说的都是单线程执行脚本,效率太低了,现在我们用多线程执行,同时打开多个浏览器窗口行不行呢?试试呗。testng提供了多线程的执行方式,是通过配置testng.xml来实现的。配置如下:执行testng.xml同时打开了3个浏览器窗口:查看执行结果:都成功了...

2018-04-14 13:10:09

阅读数:19

评论数:0

8、验证下脚本失败后是否能自动截图及保存出错信息到runlog目录下

我们将所有的id加上1,这样就找不到元素了,脚本就会失败。执行testng.xml后查看runlog目录:可以看到已经有了截图和出错信息文件,下面依次打开看看吧:看来是成功了。...

2018-04-14 13:00:28

阅读数:12

评论数:0

7、实现脚本执行失败 时自动截图并保存出错信息到文件中

自动化脚本如果失败了,凭借什么去快速定位呢?当然是截图和出错信息了,这里就来实现这两个功能。方法是重写TestListenerAdapter中的onTestFailure和onTestSkipped方法,在方法中添加截图和保存出错信息到文本的方法。新建一个webtestListener.java文...

2018-04-14 12:52:19

阅读数:14

评论数:0

6、创建并执行testng.xml查看报告

我们通过执行testng.xml来批量执行自动化脚本,下面将介绍如何创建testng.xml:1、选中需要执行的脚本——》右键——》TestNG——》Convert to TestNG2、见下图下面就产生了testng.xml文件看看testng里边是什么内容:执行这个xml即可批量执行我选中的脚...

2018-04-14 12:42:06

阅读数:26

评论数:0

5、编写自动化脚本

前面准备工作已完成,可以开始写脚本了。重点见红框1、在类前面添加监听Listener,当然也可以在testng.xml中设置,后面再说2、webtestListener.driver = driver;这句将当前的driver传递给webtestListener的driver,才能截图成功,见后续...

2018-04-14 12:21:02

阅读数:85

评论数:0

4、采用POM模型封装各页面元素及方法

这里简单封装了4个页面的元素及方法:下面将依次贴出代码:1、baidu_home_page.java代码:package pageobjects;import org.openqa.selenium.WebDriver;import org.openqa.selenium.WebElement;i...

2018-04-14 12:12:22

阅读数:17

评论数:0

3、对selenium常用方法进行二次封装

在basepage.java中对selenium常用方法进行封装,后续页面元素封装都继承该类。重点见红框,构造函数需要传入一个driver,这是为了保证写脚本时所使用的是同一个driver代码如下:package framework;import org.openqa.selenium.By;im...

2018-04-14 12:01:51

阅读数:32

评论数:0

2、配置文件config.properties及浏览器启动

配置文件如下:浏览器启动选择:新建BrowserEngine.java文件,代码如下:package framework;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;imp...

2018-04-14 11:55:17

阅读数:54

评论数:0

1、代码结构预览

不多说,直接上图:

2018-04-14 11:48:12

阅读数:9

评论数:0

7、查看批量执行脚本,脚本失败时是否有截图、错误文件生成及HTML报告生成

这里将页面元素的id加上1(这样当然就定位不到元素了,会出错),执行所有脚本(其实就2个,呵呵)执行完成2个脚本均失败,runlog中按用例名创建文件夹并将失败截图及错误信息保存在其中1、失败截图fail.png:2、错误信息文件log.txt:3、HTML报告至此,一个简单的自动化框架搭建完成。...

2018-04-12 21:34:57

阅读数:3

评论数:0

6、批量执行脚本入口excute_cases.py

新建一个excute_cases.py作为执行所有脚本的入口。# -*- coding:utf-8 -*- import HTMLTestRunner import unittest import os,time report_path = os.getcwd() + "\\t...

2018-04-12 21:22:10

阅读数:6

评论数:0

5、编写自动化测试脚本

上面已经对页面元素进行了封装,接下来就是动手写脚本了。这里写了2个脚本,直接上代码:1、test_baidu_news.py# -*- coding:utf-8 -*- import unittest import sys,os from framework.browser_engine impo...

2018-04-12 21:17:31

阅读数:4

评论数:0

4、对各页面元素及方法进行封装

所谓的POM(Page Object Model)设计模式其实就是把一个页面当作一个对象,将一个页面中的所有元素及方法封装在一个java类中。下面封装了3个页面的元素:依次打开看看吧。1、home_baidu.py# -*- coding:utf-8 -*- from framework.base...

2018-04-12 21:06:18

阅读数:1

评论数:0

3、在basepage.py中对selenium方法进行二次封装

新建一个basepage.py,姑且叫做基础页面类吧,里边对selenium的常用方法做了封装,采用POM模式封装的页面都继承这个类,以达到代码简化及代码复用的效果。# coding=utf-8 import time from framework.browser_engine import Br...

2018-04-12 20:54:35

阅读数:7

评论数:0

2、配置文件config.ini及浏览器启动

config.ini文件主要存放了一些如driver类型、访问的URL,用户名,密码(当然应当加密)等等的变量,定义这个配置文件的目的是为了将来测试条件发生变化时,如需要用IE或火狐浏览器跑自动化,又如URL、用户名、密码发生变化时,修改配置文件中的变量即可。既然新建了这么个config.ini文...

2018-04-12 20:47:00

阅读数:4

评论数:0

1、代码结构介绍

首先看看总体的代码结构是怎么样的,后续将逐一介绍每个目录及文件。一、framework下:1、basepage.py是父类页面类,里边二次封装了一些常用的selenium方法,各页面继承该父页面类,达到代码简化及复用的效果。2、browser_engine.py是浏览器选择及启动类。二、pageo...

2018-04-11 23:11:14

阅读数:9

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭