其他分享
首页 > 其他分享> > 自动化测试_百度--糯米中--携程-出行<一>

自动化测试_百度--糯米中--携程-出行<一>

作者:互联网

1:接下来我们看看思路  和相应的功能

使用python+selenium+unittest完成测试脚本

 

打开chrome浏览器,窗口最大化,设置等待时间10s

 

打开百度首页

 

鼠标移动到更多产品,点击糯米   

点击火车票

始发站选择北京,终点站选择上海

 

 

 

 

时间选择明天

截屏搜素结果页面

测试结果写入html文件

 

 

 

 

 

首先来看如何引入这个包

 

from selenium.webdriver.common.action_chains import ActionChains

 

当然,我们还要引入wedbriver的包,用来启动浏览器

 

from selenium import webdriver

 

 

# -*- coding: utf-8 -*-
# __author__ = "Allen"
import requests    
import unittest           
import HTMLTestRunner     
import time 
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys

class Baidu(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Chrome()
        self.driver.implicitly_wait(10)
        self.driver.maximize_window()

    def tearDown(self):
        time.sleep(3)
        self.driver.quit()

    def test_login(self):
        self.driver.get('https://www.baidu.com/')
        gd = self.driver.find_element_by_link_text('更多产品')

        # 鼠标滑动到   更多产品  控件上
        ac = ActionChains(self.driver)
        ac.move_to_element(gd).perform()
        time.sleep(3)
        self.driver.find_element_by_link_text('糯米').click()


        # 获取当前打开的所有网页的标识
        pag = self.driver.window_handles
        # 切换到最新打开的网页   X上出行
        self.driver.switch_to_window(pag[-1])
        chux = self.driver.find_element_by_xpath('//*[@id="j-catg"]/li[4]/div')


        # 鼠标滑动到     出行     控件上
        ac = ActionChains(self.driver)
        ac.move_to_element(chux).perform()

        self.driver.find_element_by_xpath('//*[@id="j-catg"]/li[4]/ul/li[2]/a/div').click()
        # 获取当前 (target="_blank") 新 打开的所有网页的标识
        pag = self.driver.window_handles
        # 切换到最新打开的网页   X上出行
        self.driver.switch_to_window(pag[-1])

        # 清空输入框中内容
        self.driver.find_element_by_id('notice01').send_keys('北京')
        time.sleep(3)
        self.driver.find_element_by_id('notice08').send_keys('杭州')
        time.sleep(3)

        # 执行js语句,删除时间输入框的readonly属性
        js = 'document.getElementById("dateObj").removeAttribute("readonly")'
        self.driver.execute_script(js)

        self.driver.find_element_by_id('dateObj').clear()
        self.driver.find_element_by_id('dateObj').send_keys('2019-10-01')
        time.sleep(3)
        self.driver.find_element_by_xpath('//*[@id="searchtype"]/li[1]').click()

        self.driver.find_element_by_id('searchbtn').click()
        time.sleep(3)

        # 截屏
        self.driver.save_screenshot(r'223.png')

        # 断言判断北京在不在网页标题中
        self.assertIn('北京',self.driver.title)

file = r'测试考试\aa.html'
# file1 = r'测试考试\aa.txt'
if __name__ == '__main__':
    suit = unittest.TestSuite()
    suit.addTests(unittest.TestLoader().loadTestsFromName('day17'))
    with open(file,'wb')as f:
        runner = HTMLTestRunner.HTMLTestRunner(f,verbosity=2)
        runner.run(suit)


标签:携程,self,driver,element,id,import,糯米,find,百度
来源: https://www.cnblogs.com/zhichao123/p/11245935.html