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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | 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#
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | // 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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | # 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() |