VietTuts

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

  • Home
  • Java
  • Servlet
  • JSP
  • Struts2
  • Hibernate
  • Spring
  • MyBatis
  • Java WS
  • C
  • C++
  • Python
  • PHP
  • Eclipse
  • VBA
  • Web
    • JavaScript
    • JQUERY
    • JSON
    • AJAX
    • CSS
    • HTML
    • Node.js
    • Angular 7
  • SQL
    • MySQL
    • SQL Server
  • Misc
    • Phần mềm tiện ích
    • Cấu trúc dữ liệu và giải thuật
    • Học lập trình C#
    • 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

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

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
Học servlet
Học jsp
Học Hibernate
Học Struts2
Học Spring
Học SQL

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

About VietTuts.Vn

Hệ thống bài học trên VietTuts.Vn bao gồm các bài lý thuyết và thực hành về các công nghệ java và công nghệ web. Các bài lý thuyết trên hệ thống VietTuts.Vn được tham khảo và tổng hợp từ các trang http://javatpoint.com, http://www.tutorialspoint.com, http://docs.oracle.com/en …

Scroll back to top

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