自动化测试环境Python3+selenium2

安装Python3.5

官网:https://www.Python.org

下载完会得到一个.exe后缀的文件,双击进行安装,

安装过程和一般Windows程序类似。安装完后,在菜单中就看到Python目录了,

打开自带的idle,就可以编写Python应用程序了,

或者在Windows命令下输入Python命令也可进入Python shell界面(要先把Python的安装目录添加到系统环境变量Path下才行)

计算机--属性--高级--环境变量--系统变量的path中添加:;C:\XXX\Python35, 保存应用就行。

安装setuptools和pip

pip的安装依赖setuptools,所以在安装pip之前需要先安装setuptools。要注意目前Python3并不支持setuptools,因此需要使用distribute。

setuptools下载地址:https://pypi.Python.org/pypi/setuptools

pip下载地址:https://pypi.Python.org/pypi/pip

下载会得到两个包:setuptools-30.0.0.zip和pip-9.0.1.tar.gz

解压两个包,docs命令下安装如图:python setup.py install


在Windows命令行下输入pip或pip3,如果提示“pip不是内部或外部命令,则需要手动将C:\XXX\Script\”目录添加到系统的环境变量path下,重新打开cmd验证即可。

安装selenium2

上一步安装pip是为了更方便安装selenium包,通过pip命令可以直接安装selenium包:

docs界面下输入:pip install Selenium  后就会自动下载安装!(默认安装库中最新的版本)

pip install selenium==2.48.0  //指定版本号安装

pip show selenium                 //查看当前安装的版本号

pip uninstall selenium           //卸载selenium

更多命令输入pip就有了。


安装ActivePython

ActivePython是Python专用编程和调试工具。使用他的好处是它已经集成了pip包管理工具,可以通过pip命令来安装Python的第三方库。

ActivePython下载地址:http://www.activestate.com/activePython/downloads

下载后得到:ActivePython-3.4.3.2-win32-x86.msi,点击直接安装就可以了。


安装完成后,同样会在Windows菜单栏中生成相应的菜单栏。安装ActicePython后,可以同样的方式使用pip命令安装selenium库。

直接在docs界面输入: pip  install  库名 就能安装三方库,不用单独下载库包再一个个安装!!

 pip install pymongo

 pip install  requests


验证安装的环境

下面编写第一个自动化脚本:

# coding=utf-8

from selenium import webdriver

driver = webdriver.Firefox()
url = 'http://www.baidu.com/'
driver.get(url)

driver.find_element_by_id('kw').send_keys("自动化测试")
driver.find_element_by_id("su").click()

driver.quit()

Test_baidu_case01.py

# 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

class Test_baidu(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Firefox()
        self.driver.implicitly_wait(30)
        self.base_url = "https://www.baidu.com/"
        self.verificationErrors = []
        self.accept_next_alert = True
    
    def test_case01(self):
        driver = self.driver
        driver.get(self.base_url + "/")
        driver.find_element_by_id("kw").click()
        driver.find_element_by_id("kw").clear()
        driver.find_element_by_id("kw").send_keys(u"自动化测试")
        driver.find_element_by_id("su").click()
    
    def is_element_present(self, how, what):
        try: self.driver.find_element(by=how, value=what)
        except NoSuchElementException as e: return False
        return True
    
    def is_alert_present(self):
        try: self.driver.switch_to_alert()
        except NoAlertPresentException as 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__":
    unittest.main()



发布了130 篇原创文章 · 获赞 103 · 访问量 44万+
展开阅读全文

新手--python3.5调用webdriver报错

03-22

脚本启动Fiefox报错 代码: # -*- coding:utf-8 -*- from selenium import webdriver browser = webdriver.Firefox() browser.get('http;//www.baidu.com') browser.find_element_by_id('kw').send_keys('selenium') browser.find_element_by_id('su').click() browser.quit() 报错信息: Traceback (most recent call last): File "C:\Users\hxx\AppData\Local\Programs\Python\Python35\lib\site-packages\selenium\webdriver\common\service.py", line 74, in start stdout=self.log_file, stderr=self.log_file) File "C:\Users\hxx\AppData\Local\Programs\Python\Python35\lib\subprocess.py", line 676, in __init__ restore_signals, start_new_session) File "C:\Users\hxx\AppData\Local\Programs\Python\Python35\lib\subprocess.py", line 955, in _execute_child startupinfo) FileNotFoundError: [WinError 2] 系统找不到指定的文件。 During handling of the above exception, another exception occurred: Traceback (most recent call last): File "E:/workspace/baidu.py", line 3, in <module> browser = webdriver.Firefox() File "C:\Users\hxx\AppData\Local\Programs\Python\Python35\lib\site-packages\selenium\webdriver\firefox\webdriver.py", line 145, in __init__ self.service.start() File "C:\Users\hxx\AppData\Local\Programs\Python\Python35\lib\site-packages\selenium\webdriver\common\service.py", line 81, in start os.path.basename(self.path), self.start_error_message) selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH. 问答

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 书香水墨 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览