예제 #1
0
class TestBid(unittest.TestCase):
    def setUp(self) -> None:
        """
        前置条件:
        1, 登录
        :return:
        """
        self.driver = webdriver.Chrome()
        self.driver.implicitly_wait(20)

        # 初始化页面
        self.login_page = LoginPage(self.driver)
        self.index_page = IndexPage(self.driver)

        # 登录
        login_data = login_data_success[0]
        self.login_page.login(login_data['mobile'], login_data['pwd'])

    def tearDown(self) -> None:
        pass

    def test_bid_error(self):
        "测试投资失败"
        time.sleep(1)
        self.index_page.get()

        # 如果不等待新页面出现而直接定位元素,可能找到的是上一个页面当中的元素。
        self.index_page.get_element_bid().click()
        print('hello')
예제 #2
0
class TestLogin(unittest.TestCase):
    def setUp(self) -> None:
        # 1, 打开浏览器;
        self.driver = webdriver.Chrome()
        # 设置隐式等待
        self.driver.implicitly_wait(20)
        # 初始化要用到的页面
        self.login_page = LoginPage(self.driver)
        self.index_page = IndexPage(self.driver)

    def tearDown(self) -> None:
        self.driver.quit()

    # @ddt.data(*login_data_error)
    # def test_login_error(self,  test_info):
    #     """手机号码为空"""
    #     # 第一个:获取实际结果(封装以后执行的函数或者方法) res = request.visit()
    #     self.login_page.login(test_info['mobile'], test_info['pwd'])
    #     actual = self.login_page.get_error_msg()
    #     # 第二个:获取预期结果 test_info【‘expected’】
    #     expected = test_info['expected']
    #     # 第三个:断言
    #     self.assertEqual(expected, actual)

    # 获取没有通过授权
    # @ddt.data(*login_data_invalid)
    # def test_login_invalid(self, test_info):
    #     # 登录
    #     self.login_page.login(test_info['mobile'], test_info['pwd'])
    #     # 获取没有通过授权的实际结果
    #     actual = self.login_page.get_invalid_msg()
    #     expected = test_info['expected']
    #     self.assertEqual(expected, actual)

    # 讲登录成功
    @ddt.data(*login_data_success)
    def test_login_success(self, test_info):
        """登录成功"""
        # 执行登录操作, login_page.login()
        self.login_page.login(test_info['mobile'], test_info['pwd'])
        # 进入了??页面  我的帐户[python]
        # 定位我的账户

        # 等待窗口被打开
        time.sleep(1)
        self.index_page.get()
        actual = self.index_page.get_element_user()

        # 预期结果
        expected = test_info['expected']
        self.assertIn(expected, actual.text)
예제 #3
0
class TestLogin(unittest.TestCase):

    def setUp(self) -> None:
        # 1, 打开浏览器;
        self.driver = webdriver.Chrome()
        # 设置隐式等待
        self.driver.implicitly_wait(20)

        # 初始化要用到的页面
        self.login_page = LoginPage(self.driver)
        self.index_page = IndexPage(self.driver)

    def tearDown(self) -> None:
        self.driver.quit()

    # @ddt.data(*test_data)
    # def test_login_error(self,  test_info):
    #     """手机号码为空"""
    #     # 第一个:获取实际结果(封装以后执行的函数或者方法) res = request.visit()
    #     self.login_page.login(test_info['mobile'], test_info['pwd'])
    #     actual = self.login_page.get_error_msg()
    #     # 第二个:获取预期结果 test_info【‘expected’】
    #     expected = test_info['expected']
    #     # 第三个:断言
    #     self.assertEqual(expected, actual)

    # 讲登录成功
    def test_login_success(self):
        """登录成功"""
        # 执行登录操作, login_page.login()
        self.login_page.login("18684720553", 'python')
        # 进入了??页面  我的帐户[python]
        # 定位我的账户

        self.index_page.get()
        actual = self.index_page.get_element_user()
        print("打印实际结果:",actual)

        # 预期结果
        expected = '我的帐户[python]'
        self.assertIn(expected ,  actual.text)
예제 #4
0
파일: test_bid.py 프로젝트: change1q2/Learn
class TestBid(unittest.TestCase):
    def setUp(self) -> None:
        """
        前置条件:
        1, 登录
        :return:
        """
        self.driver = webdriver.Chrome()
        # self.driver.save_screenshot()
        self.driver.implicitly_wait(20)

        # 初始化页面
        self.login_page = LoginPage(self.driver)
        self.index_page = IndexPage(self.driver)
        self.bid_page = BidPage(self.driver)
        self.user_page = UserPage(self.driver)

        # 登录
        login_data = login_data_success[0]
        self.login_page.login(login_data['mobile'], login_data['pwd'])

    def tearDown(self) -> None:
        pass

    # def test_bid_error(self):
    #     "测试投资失败"
    #     time.sleep(1)
    #     self.index_page.get()
    #
    #     # 如果不等待新页面出现而直接定位元素,可能找到的是上一个页面当中的元素。
    #     self.index_page.get_element_bid().click()
    #
    #     # 定位投标输入框
    #     bid_element = self.bid_page.get_element_bid_input()
    #
    #     # 发送投标金额
    #     bid_element.send_keys("1")
    #
    #     # 获取实际结果
    #     actual = self.bid_page.get_element_bid_btn().text
    #     self.assertEqual(actual, '请输入10的整数倍')

    # PO
    def test_bid_success(self):
        """测试投资成功"""
        time.sleep(1)
        self.index_page.get()

        # 如果不等待新页面出现而直接定位元素,可能找到的是上一个页面当中的元素。
        self.index_page.get_element_bid().click()

        # 定位投标输入框
        bid_element = self.bid_page.get_element_bid_input()

        # 获取余额, 字符串
        money_before = bid_element.get_attribute("data-amount")

        # 发送投标金额
        bid_element.send_keys("100")

        self.bid_page.get_element_bid_btn().click()

        # 如何断言投资成功
        actual = self.bid_page.get_success_msg().text
        self.assertEqual(actual, '投标成功!')

        # 断言余额是否正确扣除,
        # 1, 获取投标之前的余额
        # 2, 获取投标之后的余额  ==
        self.bid_page.get_active_btn().click()
        # user 页面 获取投标之后的余额

        money_after = self.user_page.get_element_money().text[:-1]
        self.assertEqual(
            Decimal(money_before) - Decimal("100"), Decimal(money_after))