selenium笔记6

Posted 七月的尾巴

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了selenium笔记6相关的知识,希望对你有一定的参考价值。

#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
@desc:       将登陆动作封装成function
"""
import unittest
import sys
import os
from selenium import webdriver
from selenium.webdriver.common.keys import Keys

# 单独运行这个py文件时,需要加入下面的代码,用以将项目的目录加载到系统变量中。
# 使用all_test运行所有用例时,可以注释掉
cur_dir = os.getcwd()
sys.path.append(cur_dir.split(r\test_case)[0])

from public import login


class TestLogin(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Firefox()
        self.driver.implicitly_wait(30)
        self.base_url = "http://www.126.com/"
        self.verificationErrors = []
        # self.accept_next_alert = True

    def test_login(self):
        driver = self.driver
        driver.get(self.base_url)

        # 实际项目测试时,很多用例执行前都需要先登录账户,
        # 我们可以将这些常用的动作抽出来,组成一个function(/public/login.py)
        login.login(self, xxxxx, xxxxx)  # 输入你的邮箱账号和密码

        # 获取断言信息进行断言
        text = driver.find_element_by_id("spnUid").text
        self.assertEqual(text, "[email protected]")
        # 退出
        login.logout(self)

    # 搜索邮件
    def test_search_mail(self):
        driver = self.driver
        driver.get(self.base_url)
        # 调用登录模块
        login.login(self, xxxxx, xxxxx)
        # 搜索邮件
        driver.find_element_by_xpath("//input[@class=‘nui-ipt-input‘ and @type=‘text‘]").send_keys(u小明)
        driver.find_element_by_xpath("//input[@class=‘nui-ipt-input‘ and @type=‘text‘]").send_keys(Keys.ENTER)
        # 断言搜索邮件标签页面
        text = driver.find_element_by_xpath("//div[@id=‘dvMultiTab‘]/ul/li[5]/div[3]").text
        self.assertEqual(text, u搜索邮件)
        # 调用退出
        login.logout(self)

    def tearDown(self):
        self.driver.quit()
        self.assertEqual([], self.verificationErrors)


if __name__ == "__main__":
    # unittest.main()
    import os
    print os.getcwd()

 

以上是关于selenium笔记6的主要内容,如果未能解决你的问题,请参考以下文章

Python+Selenium学习笔记6 - os模块

Selenium Xpath元素无法定位 NoSuchElementException: Message: no such element: Unable to locate element(代码片段

python selenium片段+网络驱动程序

Python+Selenium笔记(十五)调用JS

学习笔记:python3,代码片段(2017)

需要一种有效的方法来避免使用 Laravel 5 重复代码片段