目的:

趁着清明假期临近把手头工作整理了一下,前段时间老大给了一个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小白教程的更多相关文章

  1. cocos2d-x3.9利用cocos引擎一键打包Android平台APK(C++小白教程)

    链接地址:http://www.cocoachina.com/bbs/read.php?tid=333937 cocos2d-x3.9利用cocos引擎一键打包Android平台APK(C++小白教程 ...

  2. 制作Windows10政府版的小白教程

    制作Windows10政府版的小白教程 https://03k.org/make10entg.html 首先,宿主系统要比操作的系统新,因为低版本dism操作不了: 当然也可以单独下载ADK,提取最新 ...

  3. git与github建立仓库连接步骤(纯小白教程)

    一.先对git 进行用户设置 首先你得在网上下载git软件并且安装,一路默认安装就好了,然后就可以开始本地仓库的建立了.打开你安装好的git, 在开始菜单里面找到git文件夹里面的git bash端 ...

  4. 搭建个人wordpress博客(小白教程)

    新浪sae平台现在是有个免费个人空间使用,现在,教您如何使用该平台搭建属于自己的个人网站,本教程以wordpress程序安装包搭建个人网站. 申请新浪云账号 如果我们使用SAE新浪云计算平台作为服务器 ...

  5. cocos游戏开发小白教程网站

    <Quick-Cocos2d-x v3.3小白书系列教程> <Quick-Cocos2d-x初学者游戏教程>

  6. MYSQL安装--小白教程

    这个是mysql的安装过程,其实mysql的安装也很简单,但是我安装了一下午!!一下午!!原因就是,我把mysql的官网都翻遍了,都没找到64bit的.msi安装包,后来才想到好像64bit的电脑可以 ...

  7. SVM小白教程(1):目标函数

    关于 SVM(支持向量机),网上教程实在太多了,但真正能把内容讲清楚的少之又少.这段时间在网上看到一个老外的 svm 教程,几乎是我看过的所有教程中最好的.这里打算通过几篇文章,把我对教程的理解记录成 ...

  8. win7下安装linux(centos6.5)双系统详细小白教程

    在正式介绍linux安装教程之前,先声明一下本人也是刚开始接触linux,所以教程只以成功安装linux为目标,里面的具体步骤我都是参考网上的教程自己操作实现的,至于为什么要这么做就不多做解释,大家想 ...

  9. 超详细Hexo+Github博客搭建小白教程

    原文链接:超详细Hexo+Github博客搭建小白教程 去年9月的时候开始搭建了第一个自己的独立博客,到现在也稍微像模像样了.很多小伙伴应该也想过搭建一个自己的博客,网上也有一堆详细教程.我在此稍稍总 ...

随机推荐

  1. Match类解析

    Matcher类:使用Matcher类,最重要的一个概念必须清楚:组(Group),在正则表达式中()定义了一个组,由于一个正则表达式可以包含很多的组,所以下面先说说怎么划分组的,以及这些组和组的下标 ...

  2. MAC上配置asp.net core开发环境

    安装.NET Core sdk https://www.microsoft.com/net/core#macos 安装VS Code https://code.visualstudio.com/Dow ...

  3. Ioc容器BeanPostProcessor-Spring 源码系列(3)

    Ioc容器BeanPostProcessor-Spring 源码系列(3) 目录: Ioc容器beanDefinition-Spring 源码(1) Ioc容器依赖注入-Spring 源码(2) Io ...

  4. 简单工厂模式,工厂方法模式,抽象工厂模式,spring的狂想

    菜鸟D在项目中遇见一个比较纠结的高耦合,所以就想办法来解耦.情况是这样的:系统通过用户选择treeview控件的节点判断调用不同的处理,这些处理中某些东西又是类似的.同事的建议是采用简单工厂,耦合就耦 ...

  5. 2017-2-19 C#基础 基本数据类型的转换,转义字符,常量

    1.基本数据类型的转换分两种:自动转换(隐式转换)和强制转换(显式转换).自动转换是从只类型转换到引用类型.强制转换是最长用的,是从引用类型转换到值类型或者从浮点型转换到整形.强制转换主要有三种形式: ...

  6. Java中String类型的部分用法

    1.如何将字符串转换为整型数值? int i = Integer.parseInt("20"); 2.如何用“==”还是equals比较两个字符串? “==”是用来比较俩引用是不是 ...

  7. lxd容器之GPU发现和加载

    lxd gpu设备发现: // /dev/nvidia[0-9]+ type nvidiaGpuCards struct { path string major int minor int id st ...

  8. 项目架构开发:数据访问层之UnitOfWork

    接上文 项目架构开发:数据访问层之IQuery 本章我们继续IUnitOfWork的开发,从之前的IRepository接口中就可以看出,我们并没有处理单元事务, 数据CUD每次都是立即执行的,这样有 ...

  9. 基于vue的多引擎搜索及关键字提示

    关键代码: <div class="header-search"> <form id="form" action="http://m ...

  10. 【2017-03-12】SQL Sever 子查询、聚合函数

    一.子查询 子查询:把一条查询语句,当做值来使用子句的查询结果必须是一列子句可以返回多行数据,但必须是一列 子句返回的值为一个值的时候: 例如: 我只知道c026这个编号,我要查询比这个车价格低的全部 ...