Merhaba,
Geçtiğimiz günlerde Selenium ile birkaç önemli test işlemi gerçekleştirdim. Buna göre sizlerle çeşitli dillerde (Ruby, C#, Python) birkaç test kod betiklerini sizlerle paylaşmak istiyorum.
Ruby:
require 'selenium-webdriver'
require 'json'
describe 'Gmail' do
before(:each) do
@driver = Selenium::WebDriver.for :chrome
@vars = {}
end
after(:each) do
@driver.quit
end
it 'Gmail' do
@driver.get('https://accounts.google.com/ServiceLogin/signinchooser?service=mail&passive=1209600&osid=1&continue=https%3A%2F%2Fmail.google.com%2Fmail%2Fu%2F0%2F&followup=https%3A%2F%2Fmail.google.com%2Fmail%2Fu%2F0%2F&emr=1&flowName=GlifWebSignIn&flowEntry=ServiceLogin')
@driver.manage.resize_to(1539, 961)
@driver.find_element(:css, '.JDAKTe:nth-child(6) .BHzsHc').click
element = @driver.find_element(:css, '.ksBjEc > .VfPpkd-RLmnJb')
@driver.action.move_to_element(element).perform
@driver.find_element(:id, 'identifierId').click
@driver.find_element(:id, 'identifierId').click
element = @driver.find_element(:id, 'identifierId')
@driver.action.double_click(element).perform
@driver.find_element(:id, 'identifierId').click
@driver.find_element(:id, 'identifierId').send_keys('*****YOUR_EMAIL******')
@driver.find_element(:css, '.xkfVF').click
@driver.find_element(:css, '.VfPpkd-LgbsSe-OWXEXe-k8QpJ > .VfPpkd-RLmnJb').click
element = @driver.find_element(:css, '.VfPpkd-LgbsSe-OWXEXe-k8QpJ > .VfPpkd-RLmnJb')
@driver.action.move_to_element(element).perform
element = @driver.find_element(By.CSS_SELECTOR, 'body')
@driver.action.move_to_element(element, 0, 0).perform
@driver.find_element(:name, 'password').click
@driver.find_element(:name, 'password').send_keys('*****YOUR_PASSWORD*****')
@driver.find_element(:css, '.VfPpkd-LgbsSe-OWXEXe-k8QpJ > .VfPpkd-RLmnJb').click
element = @driver.find_element(:css, '.VfPpkd-LgbsSe-OWXEXe-k8QpJ > .VfPpkd-RLmnJb')
@driver.action.move_to_element(element).perform
element = @driver.find_element(By.CSS_SELECTOR, 'body')
@driver.action.move_to_element(element, 0, 0).perform
end
end
C#
// Generated by Selenium IDE
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using OpenQA.Selenium.Firefox;
using OpenQA.Selenium.Remote;
using OpenQA.Selenium.Support.UI;
using OpenQA.Selenium.Interactions;
using NUnit.Framework;
[TestFixture]
public class UntitledTest {
private IWebDriver driver;
public IDictionary<string, object> vars {get; private set;}
private IJavaScriptExecutor js;
[SetUp]
public void SetUp() {
driver = new ChromeDriver();
js = (IJavaScriptExecutor)driver;
vars = new Dictionary<string, object>();
}
[TearDown]
protected void TearDown() {
driver.Quit();
}
[Test]
public void untitled() {
driver.Navigate().GoToUrl("https://accounts.google.com/ServiceLogin/signinchooser?service=mail&passive=1209600&osid=1&continue=https%3A%2F%2Fmail.google.com%2Fmail%2Fu%2F0%2F&followup=https%3A%2F%2Fmail.google.com%2Fmail%2Fu%2F0%2F&emr=1&flowName=GlifWebSignIn&flowEntry=ServiceLogin");
driver.Manage().Window.Size = new System.Drawing.Size(1539, 961);
driver.FindElement(By.CssSelector(".JDAKTe:nth-child(6) .BHzsHc")).Click();
{
var element = driver.FindElement(By.CssSelector(".ksBjEc > .VfPpkd-RLmnJb"));
Actions builder = new Actions(driver);
builder.MoveToElement(element).Perform();
}
driver.FindElement(By.Id("identifierId")).Click();
driver.FindElement(By.Id("identifierId")).Click();
{
var element = driver.FindElement(By.Id("identifierId"));
Actions builder = new Actions(driver);
builder.DoubleClick(element).Perform();
}
driver.FindElement(By.Id("identifierId")).Click();
driver.FindElement(By.Id("identifierId")).SendKeys("*****YOUR_EMAIL******");
driver.FindElement(By.CssSelector(".xkfVF")).Click();
driver.FindElement(By.CssSelector(".VfPpkd-LgbsSe-OWXEXe-k8QpJ > .VfPpkd-RLmnJb")).Click();
{
var element = driver.FindElement(By.CssSelector(".VfPpkd-LgbsSe-OWXEXe-k8QpJ > .VfPpkd-RLmnJb"));
Actions builder = new Actions(driver);
builder.MoveToElement(element).Perform();
}
{
var element = driver.FindElement(By.tagName("body"));
Actions builder = new Actions(driver);
builder.MoveToElement(element, 0, 0).Perform();
}
driver.FindElement(By.Name("password")).Click();
driver.FindElement(By.Name("password")).SendKeys("*****YOUR_PASSWORD*****");
driver.FindElement(By.CssSelector(".VfPpkd-LgbsSe-OWXEXe-k8QpJ > .VfPpkd-RLmnJb")).Click();
{
var element = driver.FindElement(By.CssSelector(".VfPpkd-LgbsSe-OWXEXe-k8QpJ > .VfPpkd-RLmnJb"));
Actions builder = new Actions(driver);
builder.MoveToElement(element).Perform();
}
{
var element = driver.FindElement(By.tagName("body"));
Actions builder = new Actions(driver);
builder.MoveToElement(element, 0, 0).Perform();
}
}
}
Python
# Generated by Selenium IDE
import pytest
import time
import json
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.support import expected_conditions
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
class TestUntitled():
def setup_method(self, method):
self.driver = webdriver.Chrome()
self.vars = {}
def teardown_method(self, method):
self.driver.quit()
def test_untitled(self):
self.driver.get("https://accounts.google.com/ServiceLogin/signinchooser?service=mail&passive=1209600&osid=1&continue=https%3A%2F%2Fmail.google.com%2Fmail%2Fu%2F0%2F&followup=https%3A%2F%2Fmail.google.com%2Fmail%2Fu%2F0%2F&emr=1&flowName=GlifWebSignIn&flowEntry=ServiceLogin")
self.driver.set_window_size(1539, 961)
self.driver.find_element(By.CSS_SELECTOR, ".JDAKTe:nth-child(6) .BHzsHc").click()
element = self.driver.find_element(By.CSS_SELECTOR, ".ksBjEc > .VfPpkd-RLmnJb")
actions = ActionChains(self.driver)
actions.move_to_element(element).perform()
self.driver.find_element(By.ID, "identifierId").click()
self.driver.find_element(By.ID, "identifierId").click()
element = self.driver.find_element(By.ID, "identifierId")
actions = ActionChains(self.driver)
actions.double_click(element).perform()
self.driver.find_element(By.ID, "identifierId").click()
self.driver.find_element(By.ID, "identifierId").send_keys("*****YOUR_EMAIL******")
self.driver.find_element(By.CSS_SELECTOR, ".xkfVF").click()
self.driver.find_element(By.CSS_SELECTOR, ".VfPpkd-LgbsSe-OWXEXe-k8QpJ > .VfPpkd-RLmnJb").click()
element = self.driver.find_element(By.CSS_SELECTOR, ".VfPpkd-LgbsSe-OWXEXe-k8QpJ > .VfPpkd-RLmnJb")
actions = ActionChains(self.driver)
actions.move_to_element(element).perform()
element = self.driver.find_element(By.CSS_SELECTOR, "body")
actions = ActionChains(self.driver)
actions.move_to_element(element, 0, 0).perform()
self.driver.find_element(By.NAME, "password").click()
self.driver.find_element(By.NAME, "password").send_keys("*****YOUR_PASSWORD*****")
self.driver.find_element(By.CSS_SELECTOR, ".VfPpkd-LgbsSe-OWXEXe-k8QpJ > .VfPpkd-RLmnJb").click()
element = self.driver.find_element(By.CSS_SELECTOR, ".VfPpkd-LgbsSe-OWXEXe-k8QpJ > .VfPpkd-RLmnJb")
actions = ActionChains(self.driver)
actions.move_to_element(element).perform()
element = self.driver.find_element(By.CSS_SELECTOR, "body")
actions = ActionChains(self.driver)
actions.move_to_element(element, 0, 0).perform()