当前位置: 代码迷 >> 综合 >> selenium 初级教程 java版
  详细解决方案

selenium 初级教程 java版

热度:12   发布时间:2023-12-15 19:23:24.0

selenium常用操作(1)

       我这里面使用TestNG框架,这里面我们就不详细讲解这个框架的知识了,详细的我们会在后文做介绍的。但是我们一定要知道@Test这个注释下面的才是测试代码,@BeforeTest这个注释下是在做测试之前必须要做的前置处理, @AfterTest这个注释下是在测试完成后要做的收尾工作关闭资源什么的。大家暂且这么理解,后续会有详细的讲解的。

还有一点啊,就是欢迎大家评论,想和大家交流的。嘿嘿有路过的大牛呢也可以看看是不是有地方写错了,我会及时更改的,有学习的同学路过呢可以说出我哪里不足哪里不详细我会改善的。希望大家支持!

一、打开浏览器访问一个网站

话不多说我们这直接上源码。这个很简单我呢就不多说什么了 ,而且代码上面有相应的解释的。

package com.ls;import org.testng.annotations.Test;
import org.testng.annotations.BeforeTest;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.AfterTest;public class NewTest
{//定义全局变量WebDriver dr;String url;@Testpublic void f() {//你要访问的页面的地址也就是网址    这里以我的博客地址为例url="http://blog.csdn.net/qq_38318622";//使用get方法来打开这个网址的页面dr.get(url);//下面是暂停线程   大家可以不写   我这里是为了给大家截图,当然截图也可以用selenium的截图操作。try {Thread.sleep(2000);} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}}@BeforeTestpublic void beforeTest() {//设置谷歌浏览器的驱动位置   当然也可以不设置那么  你就要将这个驱动也加入到你的系统变量中System.setProperty("webdriver.chrome.driver", "C:\\Users\\Administrator\\Desktop\\谷歌驱动\\chromedriver.exe");//因为我们要使用ChromeDriver来控制浏览器  所以在这里我们要new一个driverdr=new ChromeDriver();}@AfterTestpublic void afterTest() {//这里是关闭资源      就想我们在java中写io流啊   读取数据库啊   我们操作完一定要记得关闭资源   不然你真的是个不知不扣的流氓dr.quit();}}

二、在对应的文本框内输入相应的字符

这个涉及到了元素定位,定位这个事情还是后期详细说吧,因为说简单挺简单的说难吧还挺啰嗦的。那么下面我还是上源码喽。

package com.ls;import org.testng.annotations.Test;
import org.testng.annotations.BeforeTest;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.AfterTest;public class NewTest
{//定义全局变量WebDriver dr;String url;@Testpublic void f() {//你要访问的页面的地址也就是网址    这里以我的内部局域网为例子url="http://192.168.8.241";//使用get方法来打开这个网址的页面dr.get(url);//这里是定位到这个元素,然后给在这个input文本框内输入admindr.findElement(By.xpath("//*[@id=\"login-content\"]/form/p[1]/input")).sendKeys("admin");try {Thread.sleep(3000);} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}}@BeforeTestpublic void beforeTest() {//设置谷歌浏览器的驱动位置   当然也可以不设置那么  你就要将这个驱动也加入到你的系统变量中System.setProperty("webdriver.chrome.driver", "C:\\\\Users\\\\Administrator\\\\Desktop\\\\谷歌驱动\\\\chromedriver.exe");//因为我们要使用ChromeDriver来控制浏览器  所以在这里我们要new一个driverdr=new ChromeDriver();}@AfterTestpublic void afterTest() {//这里是关闭资源      就想我们在java中写io流啊   读取数据库啊   我们操作完一定要记得关闭资源   不然你真的是个不知不扣的流氓dr.quit();}}

三、返回页面的Title  url

这个主要是为了后期的断言做准备使用,我们在这里不多做获取但是其实原理都是一样,那么我们下面就开始获取url还有title吧。

package com.ls;import org.testng.annotations.Test;
import org.testng.annotations.BeforeTest;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.AfterTest;public class NewTest
{//定义全局变量WebDriver dr;String url;@Testpublic void f() {//你要访问的页面的地址也就是网址    这里以Csdn为例url="https://www.csdn.net/";//使用get方法来打开这个网址的页面dr.get(url);//这里是定位到这个元素,然后给在这个input文本框内输入admin//dr.findElement(By.xpath("//*[@id=\"login-content\"]/form/p[1]/input")).sendKeys("admin");System.out.println("这个页面的url是:   " +dr.getCurrentUrl());System.out.println("这个页面的Title是:   " +dr.getTitle());try {Thread.sleep(3000);} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}}@BeforeTestpublic void beforeTest() {//设置谷歌浏览器的驱动位置   当然也可以不设置那么  你就要将这个驱动也加入到你的系统变量中System.setProperty("webdriver.chrome.driver", "C:\\\\Users\\\\Administrator\\\\Desktop\\\\谷歌驱动\\\\chromedriver.exe");//因为我们要使用ChromeDriver来控制浏览器  所以在这里我们要new一个driverdr=new ChromeDriver();}@AfterTestpublic void afterTest() {//这里是关闭资源      就想我们在java中写io流啊   读取数据库啊   我们操作完一定要记得关闭资源   不然你真的是个不知不扣的流氓dr.quit();}}

  相关解决方案