2017-10-03 2 views
-2
from selenium import webdriver 
from selenium.webdriver.common.keys import Keys 
from selenium.webdriver.support.ui import WebDriverWait 
import unittest 

class LoginTest(unittest.TestCase): 

    def setUp(selfself): 
     self.driver = webdriver.Chrome(executable_path='C:\Users\pepe2\Downloads\chromedriver_win32\chromedriver.exe') 
     driver.maximize_window() 
     self.driver.get("https://account.microsoft.com/account") 
     driver.find_element_by_id("meControl").click() 


    def test_Login(self): 

     emailFieldID = "email" 
     passFieldID  = "pass" 
     LoginButtonID = "idSIButton9" 

     emailFieldElement = WebDriverWait(driver, 10).until(lambda driver: driver.find_element_by_id(emailFieldID)) 
     passFieldElement = WebDriverWait(driver, 10).until(lambda driver: driver.find_element_by_name(passFieldID)) 
     LoginButtonElement= WebDriverWait(driver, 10).until(lambda driver: driver.find_element_by_id(LoginButtonID)) 

     emailFieldElement.clear().send_keys("************") 
     passFieldElement.clear().send_keys("***********") 
     LoginButtonElement.click() 

    def tearDown(self): 
     self.driver.quit() 


    if __name__ == '_main_': 
     unittest.main() 

Répondre

0

Vous appelez cela indirectement à travers une classe, pas dans main. Par conséquent, (__name__ == '_main_') sera toujours faux.

-1

Notez ce qui se passe lorsque j'exécute ce code seul.

if __name__ == '_main_': 
    print ('something 1') 

if __name__ == '__main__': 
    print ('something 2') 

Le résultat est,

something 2 

Il devrait y avoir doubles underscores de chaque côté de la 'principale'.


J'ai changé cette ligne:

self.driver = webdriver.Chrome(executable_path=r'C:\Users\pepe2\Downloads\chromedriver_win32\chromedriver.exe') 

(. Le chemin doit être marqué comme une chaîne brute car il contient des barres obliques inverses)


Je soupçonne que celui ligne dans le programme principal devrait être,

LoginTest.main() 

car LoginTest dérive de unittest. Cependant, bien que le script s'exécute maintenant, il génère une erreur en affirmant que LoginTest ne possède pas l'attribut `Main '.

À vous de choisir.