zoukankan      html  css  js  c++  java
  • 浏览器的基本操作

    浏览器的基本操作


    选择浏览器: driver = webdriver.Firefox()
    打开url: driver.get(self.base_url + " www.baidu.com")
    前进/后退: driver.forward()/driver.back()
    刷新: driver.refresh()
    最大化:browser.maximize_window()
    返回当前页面标题:print(driver.title)
    返回当前页面url:print(driver.current_url)
    返回当前浏览器的所有窗口:driver.window_handles
    返回当前浏览器的窗口句柄:driver.current_window_handle
    选择窗口: driver.switch_to_window(“window_name”)
    对话框操作: driver.switch_to_alert() #选择窗口对象
    #浏览器最大化
    driver.maximize_window()

    #设置浏览区宽高
    driver.set_window_size(480, 800)
    截取当前页面: driver.get_screenshot_as_file("C:/Users/Administrator/Desktop/selenium/baidu.png")
    关闭浏览器: driver.quit()/driver.close()

    演示代码

    from selenium import webdriver
    import  time
    import unittest
    import HTMLTestRunner
    
    
    class TestBaidu(unittest.TestCase):
    
    
    #override metherd  重写了父类方法
    
    
        #打开百度   #初始化
        def setUp(self):
            self.db = webdriver.Chrome()
            self.db.get("http://baidu.com")
            self.db.maximize_window()
    
    
        #百度搜索的操作   测试用例1
        def test_seach(self):
            input = self.db.find_element_by_id("kw")
            #对输入库的操作
            input.send_keys("纪昀")
            #定位百度按钮元素
            btn = self.db.find_element_by_id("su")
            #对按钮进行操作
            btn.click()
    
        # 百度设置每页展示条数   测试用例2
        def test_baidu_set(self):
            db = self.db
            db.get("http://baidu.com/gaoji/preferences.html")
            RequType = db.find_element_by_name("NR")
            RequTypeOptionAll = RequType.find_elements_by_tag_name("option")
            for values in RequTypeOptionAll:
                print(values.get_attribute("value"))
                print(values.text)
                if "50" in values.text:
                    values.click()
                    break
            time.sleep(3)
            # 保存设置
            db.find_element_by_xpath("/html/body/form/div/input").click()
            time.sleep(2)
            db.switch_to_alert().accept()
           # db.switch_to.alert
    
            #from .Test3 import jdbc
             #def test_baidu_a(self): #登录    测试用例3
            # t = jdbc()
            # list =t.select()
            # for i in list:
            #
            # db = self.db
            # db.find_element_by_name("tj_login").click()
            # time.sleep(3)
            # db.find_element_by_id("TANGRAM__PSP_11__footerULoginBtn").click()
            #
            # name = db.find_element_by_name("userName")
            # name.send_keys("admin")
            # pwd = db.find_element_by_id("TANGRAM__PSP_11__password")
            # pwd.send_keys("123")
            # db.find_element_by_id("TANGRAM__PSP_11__submit").click()
    
    
        #关闭浏览器   #结束的时候
        def tearDown(self):
            self.db.close()
    
    
    
    
    
    if __name__ == '__main__':
        #创建测试用例容器
        testlist = unittest.TestSuite()
        #将用例添加到容器中
        testlist.addTest(TestBaidu("test_seach"))
        #testlist.addTest(类名("函数名"))
        testlist.addTest(TestBaidu("test_baidu_set"))
    
        #创建测试报告
        #创建文件目录
        file = "D:\aaa\baidu.html"
        fle = open(file,"wb")  #生成测试报告的时候用的是二进制文件wb    rb wb  以进制的方式进行读写文件
        # 定义测试报告,stream定义报告所写入的内容,title为报告标题,description为报告的说明与描述
        runner = HTMLTestRunner.HTMLTestRunner(
            stream=fle,
            title=u'百度搜索测试报告',
            description=u'用例执行情况:')
    
        #将测试报告和用例容器关联在一起
        runner.run(testlist)
    
    
    #
    # test = TestBaidu()
    # test.setUp()
    # test.seach()
    # test.teardown()
    #
    #
    # test.setUp()
    # test.test_baidu_set()
    # test.teardown()
    
    
    #   python+selenium+unittest+HTMLTestRunner+mysql 进行web端自动化并生成报告
        #selenium 实现页面元素的定位
        #unittest 实现将测试用例并入到页面中 执行类似单元自动化的概念
    #   python+appnium+HTMLTestRunner  进行app端自动化并生成报告
  • 相关阅读:
    题解 CF577B 【Modulo Sum】
    题解 P2827 【蚯蚓】
    题解 P1219 【八皇后】
    flash小实验
    URL编解码
    速记:两个进程模拟模态窗口
    youtube weburl后缀
    给ListView的条目自绘边框
    flash全屏在Activex控件上和在Google chrome插件上的区别
    ListView的消息钩子
  • 原文地址:https://www.cnblogs.com/gaodenghan/p/14164635.html
Copyright © 2011-2022 走看看