需求很简单,所有题目全选A,然后点提交出分,校验是否到达出分这步

遇到的坑有这几个,一个是assertIn哪个是校验哪个是文本要分清,还有code的编码统一到Unicode,最后就是xpath定位各个题目的A的路径还不是完全一样,需要catch有问题的进行调整

#encoding=utf-8
from selenium import webdriver
import time,unittest
from selenium.common.exceptions import NoSuchElementException
'''
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
#此方法是将Python2的默认编码ASCII改为 utf-8
'''
class Testwenquan(unittest.TestCase):
  '''交通考试'''
  @classmethod
  def setUpClass(self):
    self.driver=webdriver.Firefox()
    self.driver.get('http://www.jsyst.cn/km1/167483/')

  def test_answer(self):

    self.driver.find_element_by_xpath("/html/body/div[2]/div[4]/div/dl/dd[2]/div/div/div/table/tbody/tr/td/table/tbody/tr/td/input").click()
    for i in range(2,101):
      i=str(i)
      path="/html/body/div[2]/div[4]/div/dl/dd[2]/div/div["+i+"]/div/table/tbody/tr/td/table/tbody/tr/td/input"
      try:
        self.driver.find_element_by_xpath(path).click()
      except NoSuchElementException:
        path="/html/body/div[2]/div[4]/div/dl/dd[2]/div/div["+i+"]/table/tbody/tr/td/table/tbody/tr/td/input"
        self.driver.find_element_by_xpath(path).click()

    self.driver.find_element_by_xpath("/html/body/div[2]/div[4]/div/dl/dd[2]/div/div[101]/span/input").click()
    target=u'你的得分是'
    text=self.driver.find_element_by_xpath("/html/body/div/div[4]/div[1]/dl[1]/dd[2]/div/div[101]/b").text

    #print text
    self.assertIn(target,text)

  @classmethod
  def tearDownClass(self):
    self.driver.quit()

if __name__=='__main__':
unittest.main()

这是最后结果,可以看到一顺的A往下选,连击100下,还是很舒畅的~

selenium,unittest——驾照科目一网上答题自动化的更多相关文章

  1. Python&Selenium&Unittest&BeautifuReport 自动化测试并生成HTML自动化测试报告

    一.摘要 本篇博文将介绍如何借助BeautifulReport和HTML模版,生成HTML测试报告的BeautifulReport 源码Clone地址为 https://github.com/Test ...

  2. SSH网上答题系统质量属性

    我要做的事网上答题系统,通过注册登录到答题页面. 这其中数据库的连接靠Hibernate,数据库的增删改查用Sruts2实现. 关于Struts2的学习,仅仅在action的表面上,可以在action ...

  3. Python+Selenium+Unittest+Ddt+HTMLReport分布式数据驱动自动化测试框架结构

    1.Business:公共业务模块,如登录模块,可以把登录模块进行封装供调用 ------login_business.py from Page_Object.Common_Page.login_pa ...

  4. python+selenium+unittest,爬虫电影网站

    以前经常在这个网站上下载电影下来看,这个网站比较坑的就是,主页上只有电影的名称,但是评分是看不到的:只有再点击电影名字,进入电影主页时才能看到评分.一般下载的电影都是评分高的才看,低的就忽略掉了.每次 ...

  5. 2017.9.29 web网上答题及其自动评测系统

    1. 设计计一个网上答题及其自动评测系统,首先是试题页面的设计及其解答的提交, 其次是当提交解答之后,系统自动评阅并给出结果. 分析:需要两个jsp页面:一个是提交信息的页面,另一个是获取提交信息的页 ...

  6. Python+selenium+unittest+HTMLTestReportCN单元测试框架分享

    分享一个比较基础的,系统性的知识点.Python+selenium+unittest+HTMLTestReportCN单元测试框架分享 Unittest简介 unittest是Python语言的单元测 ...

  7. windiows下搭建python+selenium+unittest+Chrome的Web自动化环境

    一.selenium.unittest概念 Selenium 是用于测试 Web 应用程序用户界面 (UI) 的常用框架.它是一款用于运行端到端功能测试的超强工具.您可以使用多个编程语言编写测试,并且 ...

  8. python + selenium + unittest实现简单的UI自动化

    使用的版本是python 3,其中HTMLTestRunner是修改版本,参考以下博客并下载 https://blog.csdn.net/zhanin123/article/details/78950 ...

  9. Python+Selenium+Unittest实现PO模式web自动化框架(6)

    1.TestCases目录下的模块 TestCases目录下是存放测试用例的目录. TestCases目录下的测试用例采用unittest框架来构建. 例如:登录功能的测试用例.(test_1_log ...

随机推荐

  1. ASP.NET Web API编程——接口安全与角色控制

    1 API接口验证与授权 JWT JWT定义,它包含三部分:header,payload,signature:每一部分都是使用Base64编码的JSON字符串.之间以句号分隔.signature是”h ...

  2. “->”和“.”运算符

    1.指向结构变量的指针. 2.定义:struct stu *pstu, 赋值是把结构变量的首地址赋给指针,不能把结构名给该指针:如, pstu = &boy; 3. 访问结构变量的成员 (*结 ...

  3. vue+webpack搭建项目

    1.全局安装node.js 2.安装vue-cli 可以在项目目录安装 npm install -g vue-cli 使用vue-list命令选择webpack模板 vue init webpack ...

  4. 深入浅出爬虫之道: Python、Golang与GraphQuery的对比

    深入浅出爬虫之道: Python.Golang与GraphQuery的对比 本文将分别使用 Python ,Golang 以及 GraphQuery 来解析某网站的 素材详情页面 ,这个页面的特色是具 ...

  5. 大专生自学iOS到找到工作的前前后后

    先做个自我介绍,我13年考上一所很烂专科民办的学校,学的是生物专业,具体的学校名称我就不说出来献丑了.13年我就辍学了,我在那样的学校,一年学费要1万多,但是根本没有人学习,我实在看不到希望,我就退学 ...

  6. vue-router笔记

    1.vue-router 安装 在安装webpack模块时就安装了 eg: vue  init  webpack  demo    (安装webpack模块并取名为demo) 在安装模块时没有安装的话 ...

  7. 支付宝支付示例-python

    项目演示: 1.输入金额 ​ 2.扫码支付: ​ 3.支付完成: ​ ​ 具体操作步骤: 第一步:注册账号 https://openhome.alipay.com/platform/appDaily. ...

  8. CAT 安装运行配置教程

    CAT安装教程 首先安装mysql数据库,具体步骤参阅<mysql免安装教程>--http://www.cnblogs.com/halberts/p/8723938.html 下载CAT代 ...

  9. python3 练习题100例 (五)

    题目五:输入三个整数x,y,z,请把这三个数由小到大输出. #!/usr/bin/env python3 # -*- coding: utf-8 -*- """ 题目五: ...

  10. 使用bison和yacc制作脚本语言(2)

    我们先来想一下语法 一般脚本语言不需要定义类型直接在赋值的时候确定 我们主要考虑一下变量的类型 a = 1; b = 1.1; c = "str"; 一般来讲,我们使用这三种类型, ...