51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 630|回复: 0
打印 上一主题 下一主题

[selenium] Java调用Selenium如何实现自动化测试?

[复制链接]
  • TA的每日心情
    无聊
    3 天前
  • 签到天数: 1050 天

    连续签到: 1 天

    [LV.10]测试总司令

    跳转到指定楼层
    1#
    发表于 2023-4-3 13:59:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    Selenium简介
      Selenium是一个用于Web应用程序自动化测试工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。
      Selenium特点
      ·开源、免费
      · 多浏览器支持:FireFox、Chrome、IE、Opera、Edge;
      · 多平台支持inux、Windows、MAC;
      · 多语言支持:Java、PythonRuby、C#、JavaScript、C++;
      · 对Web页面有良好的支持;
      · 简单(API 简单)、灵活(用开发语言驱动);
      · 支持分布式测试用例执行。
      Selenium优势
      · 自动化测试:可以编写程序实现对系统自动化测试。
      · 爬虫:适用爬取js混淆加密的网页。
      案例演示
      下载驱动包
      谷歌下载地址:
      http://chromedriver.storage.googleapis.com/index.html??
      说明:尽量下载与自己谷歌浏览器相近的版本,否则会出现不可描述的错误。
      引入依赖
      <dependency>
          <groupId>org.seleniumhq.selenium</groupId>
          <artifactId>selenium-java</artifactId>
          <version>4.0.0</version>
      </dependency>
      <!--   selenium 浏览器测试  不添加此依赖有可能会抛com.google.common.util.concurrent.SimpleTimeLimiter.create异常-->
      <dependency>
          <groupId>com.google.guava</groupId>
          <artifactId>guava</artifactId>
          <version>RELEASE</version>
      </dependency>


      代码--"HelloWorld"
      private WebDriver driver;
      // 浏览器驱动路径
      String browserDriverPath = "F:/IDEAWork/code-tools/webDriveSpider/chromedriver.exe";
      public static void main(String[] args) throws Exception {
          Spider app = new Spider();
          app.setUp("https://news.baidu.com/");
      }
      public void setUp(String url) throws Exception {
          // 启动chrome浏览器
          System.setProperty("webdriver.chrome.driver", browserDriverPath);
          ChromeOptions options = new ChromeOptions();
          // 无浏览器模式
          options.addArguments("--no-sandbox");
          driver = new ChromeDriver(options);
          driver.manage().window().maximize();// 最大化浏览器
          driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);// 设置操作超时时长,该设置是全局性的,即所有操作都最长等待30s
          driver.get(url);
      }


      看看这效果,简直了!?
      爬虫方式代码
      List<WebElement> webElements = driver.findElements(By.className("a3"));
      for (WebElement webElement : webElements) {
          System.out.println(webElement.getText());
      }


      只供教学参考,切勿违规使用。结果如下:
      文本框录入内容并跳转
      WebElement webElement = driver.findElement(By.id("kw"));
      webElement.sendKeys("新闻");
      WebElement searchBouuton = driver.findElement(By.id("su"));
      searchBouuton.click();



      每天一个小知识,每天进步一点点!

    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏1
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-24 18:47 , Processed in 0.064446 second(s), 24 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表