使用selenium和unittest python编写测试

lf5gs5x2  于 2021-08-20  发布在  Java
关注(0)|答案(2)|浏览(349)

我正在使用unittest和selenium编写一个简单的登录测试。
我想知道unittest如何知道测试是否失败?如果登录成功,我想在终端上打印“通过”,如果出现错误,如密码不正确,则打印“失败”。
这就是我现在拥有的。

class SignIn(unittest.TestCase):

def setUp(self):
    self.driver = driver
    self.driver.get('https://example')

def test_sign_in(self):
    self.driver.find_element_by_name('user[email]').send_keys('example')
    self.driver.find_element_by_name('user[password]').send_keys('example')
    self.driver.find_element_by_name('commit').click()

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

if __name__ == '__main__':
   unittest.main()
nx7onnlm

nx7onnlm1#

您可以使用用户Assert,
假设登录后,您将看到 Jmeter 板或欢迎屏幕,对吗?
您需要像下面这样声明它们:

try:
    assert "Expected_message_here" in driver.find_element_by_xpath('welcome page xpath here').text
except:
    print("looks like a failure")
    pass

此链接包含所有资产单击此处
我建议您使用不同的功能来验证失败场景。
你也可以参考这里

wfveoks0

wfveoks02#

方法1:如果用户登录后出现任何成功登录消息,则可以使用简单的 if-else 陈述您可以使用下面的代码补丁

def test_sign_in(self):
    self.driver.find_element_by_name('user[email]').send_keys('example')
    self.driver.find_element_by_name('user[password]').send_keys('example')
    self.driver.find_element_by_name('commit').click()
    success_msg=find_element_by_xpath('{{xpath of the success message}}')
    WebDriverWait(driver, 5).until(EC.element_to_be_clickable(By.XPATH,success_msg))
    if success_msg:
       print("Successfully logged in")
    else:
       print("Unsuccessful")

方法2:您可以使用 Try Except

def test_sign_in(self):
    try:
      self.driver.find_element_by_name('user[email]').send_keys('example')
      self.driver.find_element_by_name('user[password]').send_keys('example')
      self.driver.find_element_by_name('commit').click()
      print("Successfully logged in")
    except:
      print("An exception occurred")

以上示例是原始代码。更正识别,打字错误等。试试看,让我知道它是否适合你!干杯

相关问题