VietTuts

Tự Học Lập Trình Online

  • Home
  • Java
  • Servlet
  • JSP
  • Struts2
  • Hibernate
  • Spring
  • MyBatis
  • Java WS
  • C
  • C++
  • C#
  • Python
  • PHP
  • Excel
  • VBA
  • Web
    • JavaScript
    • JQUERY
    • JSON
    • AJAX
    • CSS
    • HTML
    • HTML5
    • Node.js
    • Angular 7
  • SQL
    • MySQL
    • SQL Server
  • Misc
    • Eclipse
    • Phần mềm tiện ích
    • Cấu trúc DL&GT
    • Selenium Test

Học Selenium - Automation Test

Kiểm thử tự động là gì? Automation Testing Selenium là gì? Các lệnh trong Selenium IDE – “Selenese” Giới thiệu Selenium Webdriver Selenium WebDriver Locators – xác định vị trí phần tử HTML

Tương Tác Người Dùng

Tương tác người dùng Tương tác Text Box Tương tác Radio Button Tương tác Check Box Tương tác Drop Down Ví dụ kéo thả trong Selenium Thao tác bàn phím Thao tác chuột Chọn nhiều hạng mục Tìm tất cả Link

Selenium WebDriver Nâng Cao

Page Object Model (POM) Selenium WebDriver Page Factory trong Selenium WebDriver XPath trong Selenium WebDriver Inject JQuery trong Selenium WebDriver
1 / 3
❮ ❯

Inject JQuery trong Selenium WebDriver


XPath trong Selenium WebDriver
Học Java cơ bản

Như bạn đã biết cơ chế của Selenium Webdriver là sử dụng JavaScript để thực hiện các thao tác với trình duyệt.

Bài này chúng tôi hướng dẫn bạn bơm (inject) JQuery trong Selenium WebDriver. Sau đó bạn có thể thực thi các câu lệnh jQuery trên trang web mà bạn đang kiểm thử.


Nội dung chính

  • Ví dụ Inject JQuery trong Selenium WebDriver

Ví dụ Inject JQuery trong Selenium WebDriver

1. Tạo file MyJQuery.txt

Tạo file MyJQuery.txt và lưu trong ổ D:/ hoặc bất kỳ nơi nào bạn muốn.

(function(jqueryUrl, callback) {
    if (typeof jqueryUrl != 'string') {
        jqueryUrl = 
            'https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js';
    }
    if (typeof jQuery == 'undefined') {
        var script = document.createElement('script');
        var head = document.getElementsByTagName('head')[0];
        var done = false;
        script.onload = script.onreadystatechange = (function() {
            if (!done && (!this.readyState || this.readyState == 'loaded' 
                    || this.readyState == 'complete')) {
                done = true;
                script.onload = script.onreadystatechange = null;
                head.removeChild(script);
                callback();
            }
        });
        script.src = jqueryUrl;
        head.appendChild(script);
    }
    else {
        callback();
    }
})(arguments[0], arguments[arguments.length - 1]);

2. Tạo lớp MyUtils.java

Lớp này chưa phương thức openChrome(), readFile() và injectJQuery() - để bơm JQuery vào trang web mà bạn kiểm thử.

package vn.viettuts.selenium;

import java.awt.AWTException;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Reader;
import java.nio.charset.Charset;
import java.util.concurrent.TimeUnit;

import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

public class MyUtils {
    /**
     * open chrome browser
     * 
     * @author phamvanthanh
     * @throws InterruptedException
     * @throws AWTException
     */
    public static WebDriver openChrome() {
        System.setProperty("webdriver.chrome.driver", 
                "D:\\SeleniumWebdriver\\chromedriver.exe");
        return new ChromeDriver();
    }
    
    /**
     * read file
     * 
     * @author viettuts.vn
     * @param file
     * @return
     * @throws IOException
     */
    public static String readFile(String file) throws IOException {
        Charset cs = Charset.forName("UTF-8");
        FileInputStream stream = new FileInputStream(file);
        try {
            Reader reader = new BufferedReader(new InputStreamReader(stream, cs));
            StringBuilder builder = new StringBuilder();
            char[] buffer = new char[8192];
            int read;
            while ((read = reader.read(buffer, 0, buffer.length)) > 0) {
                builder.append(buffer, 0, read);
            }
            return builder.toString();
        } finally {
            stream.close();
        }
    }
    
    /**
     * inject jQuery to page
     * 
     * @author viettuts.vn
     * @throws IOException
     */
    public static void injectJQuery(WebDriver driver, String jQueryStr) 
            throws IOException {
        String jQueryLoader = MyUtils.readFile(jQueryStr);
        driver.manage().timeouts().setScriptTimeout(10, TimeUnit.SECONDS);
        JavascriptExecutor js = (JavascriptExecutor) driver;
        js.executeAsyncScript(jQueryLoader);
    }
}

3. Tính độ vao trang viettuts.vn bằng cách sử dụng hàm height() trong JQuery

package vn.viettuts.selenium;

import java.io.IOException;

import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;

public class Test {
    // lenh height() trong JQuery
    private static String HEIGHT_JQ = "return $(document ).height();";
    private static String JQUERY_FILE = "D:\\MyJQuery.txt";
    public static void main(String[] args) throws IOException {
        WebDriver driver = MyUtils.openChrome();
        driver.manage().window().maximize();
        driver.get("");
        // Inject JQuery trong Selenium WebDriver
        MyUtils.injectJQuery(driver, JQUERY_FILE);
        // tinh chieu cao cua trang viettuts.vn
        JavascriptExecutor jse = ((JavascriptExecutor) driver);
        long pageHeight = (Long) jse.executeScript(HEIGHT_JQ);
        System.out.println("$(document ).height() = " + pageHeight);
    }
}

Kết quả:

$(document ).height() = 2727

XPath trong Selenium WebDriver
Học Java cơ bản

Recent Updates

Sắp Tết 2024 Rồi! - Còn bao nhiêu ngày nữa là đến tết 2024?Selenium Test là gì? - Kiểm thử tự độngCác lệnh trong Selenium IDE - “Selenese”Chọn nhiều hạng mục trong SeleniumGiới thiệu Selenium WebdriverInject JQuery trong Selenium WebDriverKéo và thả trong SeleniumMouse actions trong SeleniumPage Factory trong SeleniumPage Object Model (POM) trong SeleniumSelenium WebDriver - Tương tác CheckBoxSelenium WebDriver - Tương tác Drop DownSelenium WebDriver - Tương tác người dùng

VietTuts on facebook

Học Lập Trình Online Miễn Phí - VietTuts.Vn
Danh Sách Bài Học

Học Java | Hibernate | Spring
Học Excel | Excel VBA
Học Servlet | JSP | Struts2
Học C | C++ | C#
Học Python
Học SQL

Bài Tập Có Lời Giải

Bài tập Java
Bài tập C
Bài tập C++
Bài tập C#
Bài tập Python
Ví dụ Excel VBA

Câu Hỏi Phỏng Vấn

201 câu hỏi phỏng vấn java
25 câu hỏi phỏng vấn servlet
75 câu hỏi phỏng vấn jsp
52 câu hỏi phỏng vấn Hibernate
70 câu hỏi phỏng vấn Spring
57 câu hỏi phỏng vấn SQL

Scroll back to top

Copyright © 2016 VietTuts.Vn all rights reserved. | Liên hệ | Chính sách - riêng tư | sitemap.html | sitemap_index.xml