2017-06-09 35 views

उत्तर

0

यहां कोड है जिसके साथ मैं आया था। मैंने धारणा की है कि ओटीपी आपके इनबॉक्स में पहले ईमेल के अंदर है। जीमेल में सेटिंग को बंद करना भी सहायक होता है जो समान संदेशों को समूहबद्ध करने की अनुमति देता है क्योंकि इससे समस्याएं पैदा हो सकती हैं। (कृपया browser.driver.sleep (के उपयोग क्षमा), इस बदला जा सकता है)

var tokenKey; 
function getKey(a) { 
// Open email from *******@gmail.com 
// Its a non-angular site, so need to turn off synchronization 
browser.ignoreSynchronization = true; 
browser.driver.sleep(3000); 

// Opens a new tab in which you retrieve OTP 
browser.driver.executeScript(function() { 
    (function(a){ 
    document.body.appendChild(a); 
    a.setAttribute('href', 'https://gmail.com'); 
    a.dispatchEvent((function(e){ 
    e.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, true, false, false, false, 0, null); 
    return e; 
    }(document.createEvent('MouseEvents'))))}(document.createElement('a'))); 
}); 

browser.driver.sleep(3000); 

// Switch to new tab 
browser.getAllWindowHandles().then(function (handles) { 
    browser.switchTo().window(handles[1]); 

    if(a){ 
    var username = browser.driver.findElement(by.xpath('//*[@id="identifierId"]')); 
    username.sendKeys('*********@gmail.com'); 
    browser.driver.findElement(by.id('identifierNext')).click(); 
    } 
    var EC = protractor.ExpectedConditions; 
    var firstEmail = element(by.xpath('//*[@id=":3d"]')); 
    var passwordInput = element(by.xpath('//*[@id="password"]/div[1]/div/div[1]/input')); 

    if(a){ 
    browser.wait(EC.visibilityOf(passwordInput), 5000); 
    browser.driver.sleep(1000); 
    passwordInput.sendKeys('*********'); 
    browser.driver.findElement(by.id('passwordNext')).click(); 
    } 
     browser.wait(EC.visibilityOf(firstEmail), 5000); 
     firstEmail.click().then(function() { 
     browser.driver.sleep(2000); 
     element.all(by.cssContainingText('div', 'Text Leading up to password:')).count().then(function (results) { 
      element.all(by.cssContainingText('div', 'Text Leading up to password::')).get(results-1).getText().then(function (token) { 
      //console.log(token); 
      tokenKey = token.substring(token.indexOf('-')+1, token.length); 
      //console.log(tokenKey); 
      }); 
     }); 
     }); 
    browser.driver.close(); 
    browser.switchTo().window(handles[0]); 
}); 
} 
+0

मैंने कोड से ऊपर की कोशिश की और इसे प्राप्त करने में सक्षम नहीं है, इसलिए मैं अपने जीमेल प्रमाण-पत्र दे सकता हूं ताकि आप अपने अंत से कोशिश कर सकें। धन्यवाद –

+0

निश्चित रूप से, आगे बढ़ें। – bdf7kt

+0

var var दर्शाता है कि यह पहली बार वर्तमान रन पर जीमेल तक पहुंच रहा है या नहीं। यह लॉगिन पहलू को छोड़ देता है क्योंकि ब्राउजर इसे याद रखेगा। आपको निम्न पंक्तियों को बदलना चाहिए: – bdf7kt

संबंधित मुद्दे