• selenium 一个简单的流程


    在整个自动化测试过程中需要分为及部分:

         1、初始化
         2、结束
         3、异常处理
         4、截图
         5、对弹窗的处理
         6、测试用例
     
    整个过程中需要包括测试报告,自动生成
         生成测试报告后需要加上备注,方便注释哪些用例通过
     
    # -*- coding: utf-8 -*-
    from selenium import webdriver
    from selenium.webdriver.common.by import By
    from selenium.webdriver.common.keys import Keys
    from selenium.webdriver.support.ui import Select
    from selenium.common.exceptions import NoSuchElementException
    from selenium.common.exceptions import NoAlertPresentException
    import unittest, time, re
    import HTMLTestRunner
    import  fun
    
    class Baidu(unittest.TestCase):
        def setUp(self):
            self.driver = webdriver.Firefox()
            self.driver.implicitly_wait(30)
            self.base_url = "http://www.baidu.com/"
            self.verificationErrors = []
            self.accept_next_alert = True
       
        def test_baidu(self):
            driver = self.driver
            driver.get(self.base_url + "/")
            driver.find_element_by_id("kw").send_keys("selenium")
            driver.find_element_by_id("su").click()
    
        def test_HB(self):
            driver = self.driver
            driver.get('http://www.haibian.com')
            for k,v in fun.zidian().items():
                try:
                    driver.find_element_by_id('loginname').send_keys(k)
                    driver.find_element_by_id('password').send_keys(v)
                    driver.find_element_by_id('J-submit').click()
                except:
    #这里的图片可以使用成变量 driver.get_screenshot_as_file(r
    "E:ytxupython est_jpgsss.jpg") def is_element_present(self, how, what): try: self.driver.find_element(by=how, value=what) except NoSuchElementException, e: return False return True def is_alert_present(self): try: self.driver.switch_to_alert() except NoAlertPresentException, e: return False return True def close_alert_and_get_its_text(self): try: alert = self.driver.switch_to_alert() alert_text = alert.text if self.accept_next_alert: alert.accept() else: alert.dismiss() return alert_text finally: self.accept_next_alert = True def tearDown(self): self.driver.quit() self.assertEqual([], self.verificationErrors) if __name__ == "__main__": testunit = unittest.TestSuite() testunit.addTest(Baidu("test_baidu")) testunit.addTest(Baidu("test_HB")) file_name =r'E:ytxupython est_result esult.html' fp = file(file_name,'wb') runner = HTMLTestRunner.HTMLTestRunner( stream=fp, title='Report_title', description='Report_description') runner.run(testunit)
  • 相关阅读:
    从零开始学android开发-四大组件之一 Activity
    从零开始学android开发-详细谈谈intent的startActivityForResult()方法
    从零开始学android-一行两个按钮居中 布局
    nginx上用fastcgi配置python环境
    服务器程序源代码分析之三:gunicorn
    全面解读python web 程序的9种部署方式
    python检测文件是否更新
    nginx安装
    solr教程,值得刚接触搜索开发人员一看
    Shell标准输出、标准错误 >/dev/null 2>&1
  • 原文地址:https://www.cnblogs.com/Mushishi_xu/p/4304863.html
Copyright © 2020-2023  润新知