3 获取断言

当我们进行手动测试的时候,我们可以通过观察查看网页是否使我们想访问的站点,但是如何让电脑知道我们访问的网站是不是我们想要访问的站点呢?这里我们可以通过如下这些方法进行查看

1.http状态码

  • 什么是http状态码?

    • HTTP状态码(HTTP Status Code)是用以表示网页服务器HTTP响应状态的3位数字代码。
  • http状态码用来干什么?

    • web服务器用来告诉客户端,发生了什么事。
  • http状态码的分类

  • 常见的状态码

    • 200 OK 服务器成功处理了请求(这个是我们见到最多的)
    • 301/302 Moved Permanently(重定向)请求的URL已移走。Response中应该包含一个Location URL, 说明资源现在所处的位置
    • 304 Not Modified(未修改)客户的缓存资源是最新的, 要客户端使用缓存
    • 404 Not Found 未找到资源
    • 501 Internal Server Error服务器遇到一个错误,使其无法对请求提供服务

2.获取断言信息操作

  • current_url 显示当前url,通过url验证
    from selenium import webdriver
    driver = webdriver.Firefox()
    url = 'https://weibo.com/'
    driver.get(url)
    print (driver.current_url)
    
  • title 显示当前页面的标题,通过表条验证
    driver.title
    
  • 保存快照
    driver.get_screenshot_as_png('file.png')    # 这种方式只能存成png图片
    
    driver.get_screenshot_as_file('file2.jpg')    # 这种方式可以存成其他形式
    
练习案例1
# 导包
from selenium import webdriver

# 创建浏览器对象
driver = webdriver.PhantomJS()

# 发起访问
url = 'http://www.baidu.com'
driver.get(url)

print('当前url:', driver.current_url)
driver.close()
练习案例2
# coding:utf-8

# 导包
from selenium import webdriver
import time

# 创建浏览器对象
driver = webdriver.Firefox()

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

# 打印当前url
print('当前url:',driver.current_url)

# 打印当前的标题
print('当前标题:',driver.title)

# 获取截图,存在内存中
data = driver.get_screenshot_as_png()

# 保存截图
f = open('baidu.png', 'wb')
f.write(data)
f.close()

# 直接将截图保存文件
driver.get_screenshot_as_file('baidu2.jpg')

# 打印源码
page = driver.page_source.encode()
with open('baidu.html','wb')as f:
    f.write(page)

print ('******')
# 关闭浏览器对象
time.sleep(5)
driver.close()