selenide小白教程
目的:
趁着清明假期临近把手头工作整理了一下,前段时间老大给了一个selenide研究的任务,虽然对selenium的应用比较熟悉,但是以前一直没怎么研究过其他衍生的技术,在研究过程中发现国内好多帖子只是把selenide官网上的内容谷歌翻译了一下就贴出来了,可能对国内一些想学习自动化的小白们摸不到头脑,还不如直接对原著,所有本次总结直接从小白基础做起,下面直接进入主题。
selenide简介:

说白了selenide就是基于Selenium WebDriver进一步封装的自动化测试框架。
优点:
- 简练的流式API
- 支持Ajax稳定性测试
- 强大的真正页面对象选择器
使用Selenide无需考虑怎样关闭浏览器、处理超时和StaleElement异常、搜索相关的日志信息以及调试测试代码。只需要关心业务逻辑,剩下的教给Selenide完成就好!
selenide部署(Windows版本):
selenide部署的前提条件是要已安装eclipse和git,相关的安装这里就不做任何介绍了,无论你是多小的小白都可以通过度娘把它们安装完成,这个也算一道门槛吧,如果这个门槛你还不能迈过,我只能建议你go home。
建议git选择安装版不要用便携版
启动git CMD,在窗口中输入“git clone https://github.com/codeborne/selenide.git”检出(克隆)一个版本到本地,如下图所示:

执行成功之后,继续输入:cd selenide 跳转到下载后的文件夹中,一般文件检出在执行命令的文件夹路径下,如下图所示:

跳转到selenide路径下执行:gradle jar,如下图所示:

看到执行结果显示是否成功,也可以输入:gradle.bat jar,如下图所示:

执行成功后可以看到selenide文件夹下多了一个build文件夹,如下所示:

之后启动eclipse,创建新的项目,如下图所示:

如果没有其他需求配置直接点击完成即可。创建成功后,在新创建的项目中添加selenide类库,如下图所示:

创建一个selenide的用户库,选择添加的外部类为build文件夹中lib和libs内的所有jar,如下图所示:

注:此截图为已有库,创建新的用户库很简单,按照1、2、3、4的顺序添加完外部jar后点击“确定”按钮即可。
创建用户库后点击“确定”按钮,并将selenide用户库添加到项目下,如下图所示:

selenide实例:
在项目中创建类,输入以下代码,如下图所示:

代码内容:
package demo.zoom; import org.junit.Test;
import org.openqa.selenium.By;
import com.codeborne.selenide.Configuration;
//import com.codeborne.selenide.SelenideElement;
//import com.gargoylesoftware.htmlunit.Page;
import static com.codeborne.selenide.Selenide.*;
import static com.codeborne.selenide.Selectors.*;
//import static com.codeborne.selenide.Condition.*;
//import static com.codeborne.selenide.Selenide.$;;
public class testcc {
@Test
public void userCanLoginByUsername() throws Exception {
Configuration.browser = "chrome"; //打开谷歌浏览器,否则默认使用火狐
open("https://www.baidu.com"); //打开百度首页
$(By.name("wd")).val("selenide").pressEnter(); //搜索在输入框中selenide,回车
Thread.sleep(1500); //为了看到效果我们睡眠1.5秒
$(byText("_百度翻译")).click(); //点击链接字段为“_百度翻译”的链接
Thread.sleep(2500); //为了看到效果睡眠2.5秒
}
}
保存代码后,选择该类名java后右键进行调试,且选择JUnit测试方式(如果没有该方式可以通过Eclipse Marketplace中查找安装)如下所示:

执行结果如下图所示:

到此一个简单的实例基本执行完成
selenide小白教程的更多相关文章
- cocos2d-x3.9利用cocos引擎一键打包Android平台APK(C++小白教程)
链接地址:http://www.cocoachina.com/bbs/read.php?tid=333937 cocos2d-x3.9利用cocos引擎一键打包Android平台APK(C++小白教程 ...
- 制作Windows10政府版的小白教程
制作Windows10政府版的小白教程 https://03k.org/make10entg.html 首先,宿主系统要比操作的系统新,因为低版本dism操作不了: 当然也可以单独下载ADK,提取最新 ...
- git与github建立仓库连接步骤(纯小白教程)
一.先对git 进行用户设置 首先你得在网上下载git软件并且安装,一路默认安装就好了,然后就可以开始本地仓库的建立了.打开你安装好的git, 在开始菜单里面找到git文件夹里面的git bash端 ...
- 搭建个人wordpress博客(小白教程)
新浪sae平台现在是有个免费个人空间使用,现在,教您如何使用该平台搭建属于自己的个人网站,本教程以wordpress程序安装包搭建个人网站. 申请新浪云账号 如果我们使用SAE新浪云计算平台作为服务器 ...
- cocos游戏开发小白教程网站
<Quick-Cocos2d-x v3.3小白书系列教程> <Quick-Cocos2d-x初学者游戏教程>
- MYSQL安装--小白教程
这个是mysql的安装过程,其实mysql的安装也很简单,但是我安装了一下午!!一下午!!原因就是,我把mysql的官网都翻遍了,都没找到64bit的.msi安装包,后来才想到好像64bit的电脑可以 ...
- SVM小白教程(1):目标函数
关于 SVM(支持向量机),网上教程实在太多了,但真正能把内容讲清楚的少之又少.这段时间在网上看到一个老外的 svm 教程,几乎是我看过的所有教程中最好的.这里打算通过几篇文章,把我对教程的理解记录成 ...
- win7下安装linux(centos6.5)双系统详细小白教程
在正式介绍linux安装教程之前,先声明一下本人也是刚开始接触linux,所以教程只以成功安装linux为目标,里面的具体步骤我都是参考网上的教程自己操作实现的,至于为什么要这么做就不多做解释,大家想 ...
- 超详细Hexo+Github博客搭建小白教程
原文链接:超详细Hexo+Github博客搭建小白教程 去年9月的时候开始搭建了第一个自己的独立博客,到现在也稍微像模像样了.很多小伙伴应该也想过搭建一个自己的博客,网上也有一堆详细教程.我在此稍稍总 ...
随机推荐
- JDK1.8源码阅读系列之四:HashMap (原创)
本篇随笔主要描述的是我阅读 HashMap 源码期间的对于 HashMap 的一些实现上的个人理解,用于个人备忘,有不对的地方,请指出- 接下来会从以下几个方面介绍 HashMap 源码相关知识: 1 ...
- Debug和Release区别
VC下Debug和Release区别 最近写代码过程中,发现 Debug 下运行正常,Release 下就会出现问题,百思不得其解,而Release 下又无法进行调试,于是只能采用printf方式逐步 ...
- java集合框架04——LinkedList和源码分析
上一章学习了ArrayList,并分析了其源码,这一章我们将对LinkedList的具体实现进行详细的学习.依然遵循上一章的步骤,先对LinkedList有个整体的认识,然后学习它的源码,深入剖析Li ...
- 前端总结·基础篇·CSS(二)视觉
前端总结系列 前端总结·基础篇·CSS(一)布局 前端总结·基础篇·CSS(二)视觉 前端总结·基础篇·CSS(三)补充 前端总结·基础篇·CSS(四)兼容 目录 一.动画(animation)(IE ...
- [编织消息框架][rpc]使用篇
rpc 分两部份,一个是调用者,另一方是服务提供者 调用者只关心那个服务,传相应参数,返回内容就可以 而提供者根据调用相应服务同参数,工作处理后响应内容即可 根据他们的关系可以用JAVA 接口同实现类 ...
- 数据库读写分离Amoeba
1.理解读写分离的原理 Amoeba(变形虫)项目,该开源框架于2008发布一款Amoeba for mysql软件,该软件致力于mysql的分布式数据库前端代理层,主要的作用是应用服务访问mysql ...
- iOS性能检测之Instrunments - 几种常用工具简单介绍
Instrunments: 没错,就是这货,很多人平时开发可能不一定会用到这个,但我要说的是,学会使用它,会让你加分不少哦 先来一张全家福: 1.打开方式 或者 两种方式都行. 2.今天主要介绍一下 ...
- 深入理解 JavaScript 异步系列(1)—— 什么是异步
前言 2014年秋季写完了<深入理解javascript原型和闭包系列>,已经帮助过很多人走出了 js 原型.作用域.闭包的困惑,至今仍能经常受到好评的留言. 很早之前我就总结了JS三座大 ...
- if(){}else 语句的正确写法以及它的嵌套使用
if(一个返回bool值的条件表达式) { 程序块 } else{} 它的执行过程我们可以通过一个程序来了解 static void Main(string[] args) { ) // 条件1 { ...
- tp框架基础(详细步骤分解,易懂)下
在浏览器中如果要访问操作方法的时候以什么方式来访问 有四种方式 第一种是get方式,第二种是访问路径 这四种方式我们可以通过修改配置文件来改掉url的模式 我们需要来改一下我们的配置文件 在这个路径下 ...