2013-02-10 1 views
0

enter image description here Может кто-нибудь помочь мне, как я могу вызвать компоновку экрана в Gmail/Yahoomail с помощью команд selenium.Невозможно вызвать экран компоновки в Gmail/Yahoomail с использованием селена

Попытался выполнить следующие команды.

selenium.click("href=compose link"); 
selenium.click("name=Compose"); 
+0

Вы используете Selenium-RC? Лучше переключиться на Selenium WebDriver. –

ответ

2

вы можете использовать WebDriver и легко могут вызвать сочинить почтовый экран из Gmail/Yahoo. Смотрите код ниже:

from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import Select import selenium.webdriver.support.ui as ui from selenium.common.exceptions import NoSuchElementException import unittest, time, re, os import HTMLTestRunner import xlrd

class gmail(unittest.TestCase): 
    def setUp(self): 
     self.driver = webdriver.Firefox() 
     self.driver.implicitly_wait(30) 
     self.base_url = "http://gmail.com" 
     self.verificationErrors = [] 


    def test_gmail_login(self): 
     driver=self.driver 
     driver.get(self.base_url +"/") 
     driver.find_element_by_xpath("//*[@id='Email']").clear() 
     print "1. enter user name in username text field" 
     driver.find_element_by_xpath("//*[@id='Email']").send_keys("xxxx") 
     driver.find_element_by_xpath(".//*[@id='Passwd']").clear() 
     print "2.enter password in password text field" 
     driver.find_element_by_xpath(".//*[@id='Passwd']").send_keys("xxxx") 
     print " 3. Click signIn button. it has redirect to corresponding gmail home page" 
     driver.find_element_by_xpath("//*[@id='signIn']").click() 
     print "click compose mail button" 
     driver.find_element_by_xpath("//*[@id=':b7']/div/div").click() 
     driver.save_screenshot('/compose.png') 
     try: 
     driver.find_element_by_xpath("//*[@class='z0']/div").click() 

`

+0

Пробовал с webdriver, при попытке вызвать компоновку экрана. –

+0

Привет, я получил решение, использующее этот код xpath: driver.find_element_by_xpath ("// * [@ class = 'z0']/div"). Click() –

2

Вы можете легко достичь этого, используя Selenium IDE. Просто запишите весь сценарий в сторону и сделать ниже шаги

1. GoTo Options
2. Format
3. Click the Java/ Junit4/ Remote Control option.

Теперь вы можете увидеть точный код Selenium RC для сценария вы сделали и скопировать и вставить его в любую IDE и использовать его ,

Одно рекомендуемое предложение, селен RC устарел и дальнейшая разработка на RC отсутствует. Будущее находится на Selenium WebDriver. Пожалуйста, включите его в WebDriver.

Отредактировано:

Попробуйте этот код:

//Assume driver is initialized properly some where else. 
    driver.get("http://www.gmail.com/"); 
    driver.findElement(By.id("Email")).clear(); 
    driver.findElement(By.id("Email")).sendKeys("UserName"); 
    driver.findElement(By.id("Passwd")).clear(); 
    driver.findElement(By.id("Passwd")).sendKeys("Password"); 
    driver.findElement(By.id("signIn")).click(); 
    //Add some wait. Use Selenium Implicit wait and Explicit wait. 
    Thread.sleep(5000); 
    driver.findElement(By.xpath("//div[2]/div/div/div/div[2]/div/div/div/div/div")).click(); 
    driver.findElement(By.id("gbi4t")).click(); 
    driver.findElement(By.id("gb_71")).click(); 

Это может помочь вам.

SIDE Снимок экрана:

enter image description here

+0

Опция формата Hi manigandan отключена в текущем селене IDE1.10.0, но даже я попытался вызвать компоновку экрана usig selenium IDE и переписать код в java, даже после этого также не могу вызвать экран компоновки. –

+0

Это выглядит странно для меня. У меня тоже такая же версия SIDE, и у меня есть опция 'format'. Попробуйте переустановить плагин IDE. – Manigandan

+0

После нажатия кнопки у вас есть какие-либо опции в этом формате? –

0

Для вызова Compose экрана Gmail в Selenium-RC с использованием Java, как показано ниже:

selenium.click("//div[text()='COMPOSE']"); 

Чтобы вызвать Compose экран Yahoomail в Selenium-RC с использованием Java, как показано ниже:

selenium.click("id=global_compose_top"); 

Ниже приведен код Selenium WebDriver Java для Gmail:

driver.findElement(By.xpath("//div[text()='COMPOSE']")).click(); 

Ниже приведен код Selenium WebDriver Java для почты Yahoo:

driver.findElement(By.id("global_compose_top")).click(); 

 Смежные вопросы

  • Нет связанных вопросов^_^