Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Thực hiện thay đổi đường dẫn file driver trước khi run
31 changes: 31 additions & 0 deletions example-code-slides/05/example-frames.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
require "selenium-webdriver"
require "byebug"
require_relative "../driver/driver_variable.rb"

Selenium::WebDriver::Firefox::Service.driver_path = DriverVariable::FIREFOX_DRIVER

driver = Selenium::WebDriver.for :firefox

begin
# Navigate to URL
driver.get "file:///#{$ROOT_PATH}/05/iframew-exam.html"

# Store iframe web element
iframe = driver.find_element(:css, "#modal > iframe")

# Switch to the frame
driver.switch_to.frame iframe

sleep(2)

# Now, Click on the button
driver.find_element(:id, "my_playlist").click

sleep(2)

driver.switch_to.default_content

driver.find_element(id: "my_link").click
ensure
driver.quit
end
23 changes: 23 additions & 0 deletions example-code-slides/05/example1.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
require "selenium-webdriver"
require "byebug"
require_relative "../driver/driver_variable.rb"

# Selenium::WebDriver::Chrome::Service.driver_path
Selenium::WebDriver::Chrome::Service.driver_path = DriverVariable::CHROME_DRIVER
driver = Selenium::WebDriver.for :chrome

begin
# Navigate to URL
driver.get "https://google.com"

p driver.title
# driver.find_element(name: "q").send_keys "webdriver"

# element = driver.find_element :class, "hOoLGe"

# driver.action.move_to(element).click.perform

# sleep(5)
ensure
# driver.quit
end
21 changes: 21 additions & 0 deletions example-code-slides/05/iframew-exam.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
<!DOCTYPE html>
<html>

<head>
<title>HTML Iframes</title>
</head>

<body>

<div id="modal">
<iframe id="buttonframe" name="myframe"
src="https://www.nhaccuatui.com/" frameborder="0" style="height:50%;width:100%;position:absolute;top:0px;left:0px;right:0px;bottom:50px" height="50%" width="100%">
<a id="my_playlist" href="https://www.chatwork.com">Click here</a>
</iframe>
</div>
<div style="height:50%;width:50%;position:absolute;top:350px;left:0px;right:0px;bottom:50px" height="50%" width="100%">
<a id="my_link" href="https://www.chatwork.com">Click chatwork</a>
</div>
</body>

</html>
21 changes: 21 additions & 0 deletions example-code-slides/06-working-web-elements/06ClickAction.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
require "selenium-webdriver"
require "byebug"
require_relative "../driver/driver_variable.rb"

Selenium::WebDriver::Chrome.driver_path = DriverVariable::CHROME_DRIVER
driver = Selenium::WebDriver.for :chrome

begin
# Navigate to URL
driver.get "https://google.com"

driver.find_element(name: "q").send_keys "webdriver"

element = driver.find_element :class, "hOoLGe"

driver.action.move_to(element).click.perform

sleep(5)
ensure
driver.quit
end
21 changes: 21 additions & 0 deletions example-code-slides/06-working-web-elements/06ContextClick.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
require "selenium-webdriver"
require "byebug"
require_relative "../driver/driver_variable.rb"

Selenium::WebDriver::Firefox.driver_path = DriverVariable::FIREFOX_DRIVER
driver = Selenium::WebDriver.for :firefox

begin
# Navigate to URL
driver.get "https://google.com"

search = driver.find_element(name: "q")

driver.action.send_keys(search, "webdriver").perform

driver.action.context_click(search).perform

sleep(5)
ensure
driver.quit
end
19 changes: 19 additions & 0 deletions example-code-slides/06-working-web-elements/06Downkey.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
require "selenium-webdriver"
require "byebug"
require_relative "../driver/driver_variable.rb"

Selenium::WebDriver::Firefox.driver_path = DriverVariable::FIREFOX_DRIVER
driver = Selenium::WebDriver.for :firefox
begin
# Navigate to URL
driver.get "https://google.com"

# Enter "webdriver" text and perform "ENTER" keyboard action
driver.find_element(name: "q").send_keys "webdriver"
driver.action.key_down(:control).send_keys("a").perform

sleep(5)
ensure
driver.quit
end

21 changes: 21 additions & 0 deletions example-code-slides/06-working-web-elements/06FindbyElements.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
require "selenium-webdriver"
require "byebug"
require_relative "../driver/driver_variable.rb"

Selenium::WebDriver::Chrome.driver_path = DriverVariable::CHROME_DRIVER
driver = Selenium::WebDriver.for :chrome

begin
# Navigate to URL
driver.get "https://www.youtube.com/"

# Enter "webdriver" text and perform "ENTER" keyboard action
links = driver.find_elements(id: "video-title-link")
puts "size element: #{links.size}"

links[1].click

sleep(5)
ensure
driver.quit
end
20 changes: 20 additions & 0 deletions example-code-slides/06-working-web-elements/06KeyKeyboard.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
require "selenium-webdriver"
require "byebug"
require_relative "../driver/driver_variable.rb"

Selenium::WebDriver::Firefox.driver_path = DriverVariable::FIREFOX_DRIVER
driver = Selenium::WebDriver.for :firefox

begin
# Navigate to URL
driver.get "https://google.com"

search = driver.find_element(name: "q")

driver.action.send_keys(search, "webdriver").perform

driver.action.send_keys(:tab).perform
sleep(5)
ensure
driver.quit
end
27 changes: 27 additions & 0 deletions example-code-slides/06-working-web-elements/06KeyUp.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
require "selenium-webdriver"
require "byebug"
require_relative "../driver/driver_variable.rb"

Selenium::WebDriver::Chrome.driver_path = DriverVariable::CHROME_DRIVER
driver = Selenium::WebDriver.for :chrome

begin
# Navigate to URL
driver.get "https://google.com"

# Enter "webdriver" text and perform "ENTER" keyboard action
txtSearch = driver.find_element(name: "q")

# Enters text "qwerty" with keyDown SHIFT key and after keyUp SHIFT key (QWERTYqwerty)
driver.action.key_down(:shift).send_keys(txtSearch, "selenium").key_up(:shift).send_keys("webdriver").perform

sleep (1)

driver.action.key_down(:backspace).perform
# driver.action.send_keys(:backspace).perform


sleep(5)
ensure
driver.quit
end
18 changes: 18 additions & 0 deletions example-code-slides/06-working-web-elements/06WebElement.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
require "selenium-webdriver"
require "byebug"
require_relative "../driver/driver_variable.rb"

Selenium::WebDriver::Chrome.driver_path = DriverVariable::CHROME_DRIVER
driver = Selenium::WebDriver.for :chrome
begin
# Navigate to URL
driver.get "https://google.com"

# Enter "webdriver" text and perform "ENTER" keyboard action
driver.find_element(name: "q").send_keys "webdriver", :return

sleep(5)
ensure
driver.quit
end

Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Bootstrap Example</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>
</head>
<body>

<div class="container">
<h2>
<a class="link_cus" href="https://www.w3schools.com/">Visit W3Schools.com!</a>
</h2>
<h2>Horizontal form</h2>
<form class="form-horizontal" action="/action_page.php">
<div class="form-group">
<label class="control-label col-sm-2" for="email">Email:</label>
<div class="col-sm-10">
<input type="email" class="form-control" id="email" placeholder="Enter email" name="email">
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-2" for="pwd">Password:</label>
<div class="col-sm-10">
<input type="password" class="form-control" id="pwd" placeholder="Enter password" name="pwd">
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<div class="checkbox">
<label><input type="checkbox" name="remember"> Remember me</label>
</div>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-default">Submit</button>
</div>
</div>
</form>
</div>

</body>
</html>
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
require "selenium-webdriver"
require "byebug"
require_relative "../../driver/driver_variable.rb"

Selenium::WebDriver::Chrome.driver_path = DriverVariable::CHROME_DRIVER
driver = Selenium::WebDriver.for :chrome

begin
url = "file://" << File.expand_path("/Webdriver-Ruby-example_base/example-code-slides/06-working-web-elements/finder_element/demo.html")

# get partial text of link
driver.get url

partial_text = driver.find_element partial_link_text: "Visit"
p "full text of link: #{partial_text.text}"

partial_text.click
sleep(1)


# get link or lik_text
driver.get url

link_selector = driver.find_element link_text: "Visit W3Schools.com!"

# // Same: link_selector = driver.find_element link: "Visit W3Schools.com!"
p "full text: #{link_selector.text}"

link_selector.click
sleep(1)

ensure
driver.quit
end

Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
require "selenium-webdriver"
require "byebug"
require_relative "../../driver/driver_variable.rb"

Selenium::WebDriver::Chrome.driver_path = DriverVariable::CHROME_DRIVER
driver = Selenium::WebDriver.for :chrome

begin
url = "file://" << FFile.expand_path("/Webdriver-Ruby-example_base/example-code-slides/06-working-web-elements/finder_element/demo.html")

driver.get url

# # By tag name
# name_tag = driver.find_element tag_name: "button"
# p "tag name example: #{name_tag.text}"

# sleep(1)

# By class
# css = driver.find_element class: "btn"
# p "css example: #{css.text}"

# By id
# email = driver.find_element id: "email"
# email.send_keys "vanvtt"
# p "email: #{email.attribute :value}"

# By name
# name = driver.find_element name: "email"
# name.send_keys "vanvtt"
# p "name: #{name.attribute :value}"

# By Xpath
# xpath = driver.find_element xpath: "//*[@id='email']"
# xpath.send_keys "vanvtt"
# p "xpath: #{xpath.attribute :value}"

xpath = driver.find_element xpath: "//*[@class='link_cus']"
xpath.click

# By Css selector
# css_selector = driver.find_element css: "#email"
# css_selector.send_keys "vanvtt"
# p "css_selector: #{css_selector.attribute :value}"


# btn_by_selector = driver.find_element css: "div.col-sm-offset-2.col-sm-10 .btn.btn-default"
# p "by css selector example: #{btn_by_selector.text}"

sleep(1)
ensure
driver.quit
end

Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
require "selenium-webdriver"
require "byebug"
require_relative "../../driver/driver_variable.rb"

Selenium::WebDriver::Chrome.driver_path = DriverVariable::CHROME_DRIVER
driver = Selenium::WebDriver.for :chrome
begin
# Navigate to URL
driver.get "https://www.w3schools.com/cssref/"

link_css_selector = driver.find_element partial_link_text: "Selectors"

p "full text: #{link_css_selector.text}"

link_css_selector.click

sleep(1)
ensure
driver.quit
end

Loading