自动化测试学习-配合习题练习

记录了从零开始学习自动化测试的过程,包括Python编程基础、shell脚本、Linux操作、数据库管理和测试理论等内容,通过实践项目加深理解和技能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

自动化测试学习-配合习题练习

新增笨方法学习Python(第四版).pdf
文档链接
链接:https://pan.baidu.com/s/1VDhJxDlDjEiCikpcKsoDxA
提取码:7qaz

练习进度打卡

2020.05.19 21:14 做到习题11 下班
2020.05.20 22:05 做到习题16 下班
## 问题与解决办法
1.cmd/powershell中输入python ×××.py时报错文件不存在
问题原因:命令行界面在管理员文件夹,执行文件时需要在文件所在文件夹
解决思路:让命令行界面进入×××.py文件所在的文件夹
解决办法1:对×××.py文件所在的文件夹shift+右键,点击此处打开命令窗口
解决办法2:
命令行输入"cd…":返回上一层
命令行输入"dir":展开该文件夹
命令行输入"cd 文件夹名":进入该文件夹
2.运行带中文注释的.py文件时报错Non-ASCll character ‘xe5’
问题原因:默认编码为ASCll,所以读取中文报错
解决思路:改变编码为utf-8
解决办法:文件开头加“#–coding:UTF-8–”或者“#coding=utf-8”
3.运行加了“#–coding:UTF-8–”带中文输出的.py文件时中文显示乱码(符号或者类繁体)
问题原因:感觉是python2.7的bug,试了搜到的所有方法,中文均被显示为符号或者类繁体乱码
解决办法:在中文前加u,比如:print u’中文’

2020.05.21 22:00 做到练习22 下班
2020.05.22 21.46 做练习22,汇总练习1-21中用到的关键词和特殊符号并列出作用,熟读并且一个不落默写出来,不然重复
做练习23,https://github.com/injetlee/Python查看他人python项目,完整查看8个.py文件,不求完全理解,尽量理解
明天计划:继续查看他人项目,并在能理解的地方加注释 下班
2020.05.25 22:00做练习23-26 看完他人代码后,尝试复制并修改运行 下班
特别注意:练习26题中的错误代码链接失效,新链接为http://learnpythonthehardway.org/book/exercise26.txt
## 问题与解决办法
1.在对运行完好的代码进行增加后,运行报错“IndentationError: unindent does not match any outer indentation level”
问题原因:代码的对齐,混用了TAB键和空格,可以打开notepad++中视图-显示符号-显示空格与制表符查看。
解决思路:将代码的对齐统一为TAB键或者空格,因为运行过的,py文件,再添加代码时,使用的是空格对齐,所以统一为空格
解决办法:notepad+±设置-首选项-语言-勾选替换为空格
2020.05.26 21:00 练习习题27-32 有事提前溜了
2020.05.27 22:00 练习习题33-37 下班
习题36中的家庭作业新开一篇
2020.05.28 22:13 练习习题37
总结理解关键字-数据类型-字符串转义序列-字符串格式化-操作字符
2020.05.29 22:02 练习习题37和38
熟练说出习题37中每项的作用,习题github中查看.py文件,理解每个函数的作用。
**2020.05.30 ** 练习题38 查看他人程序代码,理解、复制执行并适当修改,学习使用github上传自己的代码
程序作者代码
修改后代码
## 问题与解决办法
1.“from tkinter import messagebox"时报错"No moudle named tkinter”
问题原因:程序作者使用的python3,在提醒框上,与python2的模块不同
解决办法:

import Tkinter
import tkMessageBox

2.“from tkinter.filedialog import askdirectory"报错"No moudle named tkinter.filedialog”
问题原因:和问题1一样,程序作者使用的python3,在提醒框上,与python2的模块不同
解决办法:

from tkFileDialog import askdirectory

3.双击执行rename.py文件会同时出现命令窗口和程序窗口
目标:不出现命令窗口
解决方法:修改rename.py文件为rename.pyw

2020.06.01 21:07 练习38+39 下班
2020.06.02 22:21 练习习题40+心血来潮修改完善淘宝618赛车活动js脚本。 下班
2020.06.03 22:24 练习习题41+42 下班
##问题与解决办法
1.练习42中类,运行报错AttributeError: ‘TheThing’ object has no attribute ‘number’
问题原因:构造函数每边只用了一个下划线
解决办法:构造函数每边用两个下划线"init(self)"
2020.06.04 22:21 练习习题42+43 下班
**2020.06.05 22:20 ** 练习题44+45+46 我是win7+python2.7
##问题与解决办法
1.习题46 基本根据下面链接执行,差异项下面列出
2.setup.py文件存放在skeleton文件夹下,刚开始放在NAME文件夹下了
3.在安装nose的时候使用指令"easy_install nose",才会在之后的nosetests时成功
我使用"pip install nose",之后执行nosetests会闪退,我看其他人这样安装之后有其他报错
https://blog.csdn.net/qq_41718357/article/details/84570229
4.在添加文件夹时,
Windows:mkdir 文件夹名1,文件夹2…
5.在添加文件时:
windows:new-item -type file NAME/init.py
Linux/OSX:touch NAME/init.py
2020.06.06 22:43 练习题37 下班
备注:使用这个骨架和小测验一定要一个一个查,一个一个试,一个一个理解
2020.06.08 22:35 练习题37 下班
2020.06.09 22:30 练习题37 lexicon.py仍然有问题,明天继续,下班

#coding=utf-8
def scan(x):
    y = x.split(" ")
    result = []
    directions = ["direction","north","south","east","west","down","up","left","right","back"]
    verbs = ["verb","go","stop","kill","eat"]
    stops = ["stop","the","in","of","from","at","it"]
    nouns = ["noun","door","bear","princess","cabinet"]
    types = [directions,verbs,stops,nouns]
    for i in y:
        log = 0
        try:
            num = int(i)
                if len(y) == 1:
                    return return ["type[0]",i]
                    
                else:
                    result.append(("number",num))
                    log = 1
        except ValueError:
            for type in types:
                for value in type:
                    if i == value:
                        if len(y) == 1 :
                            return ["type[0]",i]
                        
                        else:
                            result.append((type[0],i))
                            log = 1
            if  log == 0 :
                if len(y) == 1 :
                    return ["error",i]
                
                else:
                    result.append(("error",i))
    
    return result

2020.06.10 22:31 习题47+48+49
习题48的 lexicon.py

#coding=utf-8
def scan(x):
    y = x.split(" ")
    result = []
    directions = ["direction","north","south","east","west","down","up","left","right","back"]
    verbs = ["verb","go","stop","kill","eat"]
    stops = ["stop","the","in","of","from","at","it"]
    nouns = ["noun","door","bear","princess","cabinet"]
    types = [directions,verbs,stops,nouns]
    for i in y:
        log = 0
        try:
            num = int(i)
            result.append(("number",num))
            log = 1
        
        except ValueError:
            for type in types:
                for value in type:
                    if i == value:
                        result.append((type[0],i))
                        log = 1
            
        if  log == 0 :
            result.append(("error",i))
    
    return result

2020.06.11 22:33 习题49+50

习题49的EX49_tests.py

from nose.tools import *
from EX49 import sentence
from EX48 import lexicon


def equal(sentences,subj,verb,obj):
    word_list = lexicon.scan(sentences)
    parse = sentence.parse_sentence(word_list)
    assert_equal(parse.subject,subj)
    assert_equal(parse.verb,verb)
    assert_equal(parse.object,obj)
    
    
def test_subj_ver_noun_dir():
    equal("door go bear","door","go","bear")
    equal("door go north","door","go","north")
    
    
def test_ver_noun_dir():
    equal("go bear","player","go","bear")
    equal("go north","player","go","north")
    
    
def test_subj_lack_ver():
    equal("door bear","","","")
    
    
def test_subj_ver_lack_obj():
    equal("door go ","","","")
    
    
def test_ver_lack_obj():
    equal("go","","","")
    
    
def test_start_dir():
    equal("north door go bear","door","go","bear")
    
    
def test_start_undefind():
    equal("132 door go bear","door","go","bear")
    
    
def test_lack_all():
    equal("","","","")

2020.06.12 22:36 习题50+51 下班
卡在
在 templates/index.html 中添加一个链接,让它指向 /hello,这
样你可以反复填写并提交表单查看结果。
2020.06.15 22:22 习题51
完整看了一遍,不是太懂,明天再从头开始看一遍
2020.06.17 00:41 习题51 下班
这一遍比昨天理解更多,明天做小练习,详细理解app_tests.py中每一步
2020.06.17 22:36 习题51+开启关闭浏览器
习题52就留着后面当收尾练习做了
下载geckodriver.exe、chromedriver.exe、IEDriverServer.exe放到Python安装根目录下,比如Python27文件夹下

#编写文件firefox.py,chrome.py和ie.py文件类似
from selenium import webdriver

driver = webdriver.Firefox()

driver.maximize_window()

driver.get("https://www.baidu.com")

driver.quit()

问题:
1.chrome.py文件执行报错
原因:chromedriver.exe版本和chrome浏览器版本不匹配
解决方法:下载和自己chrome版本匹配的chromedriver.exe
2.ie.py执行,浏览器最后未关闭
原因:暂未站到原因,也没解决,猜测可能也是版本问题,明天试一下

2020.06.28 22:39 练习篇1-17 下班(之前个把星期忙工作上特别重要的事了)
练习篇链接
问题挺多,下次回顾再好好总结

2020.06.29 22:39 练习篇初级18-中级1 下班
练习篇链接
下次回顾再好好总结

2020.06.30 22:42 中级篇2-10 下班
练习篇链接
中级篇完结,下次回顾再好好总结
忙里偷闲写了个安卓自动刷视频插件

2020.07.06 22:42 中级篇2-10 下班
1.在给文件命名时,千万不要出现“< > / \ | : " * ?”,会导致文件无法创建,查询不到该文件,报错“OSError: [Errno 22] Invalid argument:OSError:”

2020.07.9 22:42 框架设计篇1-11+jmeter完结+linux1-15 下班
最近学的东西知识点挺多,基本一遍过,没有特意做记忆,后期再完整过一遍,整理一下笔记,然后大量做下练习和面试题.

2020.07.11 22:40 linux16-39+shell脚本基础1-6 下班

2020.07.13 22:36 shell脚本基础7-20+接口测试基础1-5+request库入门1-2 下班

2020.07.17 22:36 request库入门3-16+tomcat 下班

2020.07.20 22:40 今天开始把python+shell+linux完整过一遍,后期准备做一百道笔试题再加面试题 下班

2020.07.22 21:44 有点犯困,就先不学了,练习一下打字再下班
python过了基础篇+shell+linux完整过了一遍
明天过一下python中级篇和框架设计篇
做了一下linux和shell知识点总结,确实很多忘了,死记对我来说太难了,我还是觉得大量练习是最适合我的方法,所以后期大量做练习
linux命令知识点总结:适合简单学过linux命令的人,不然容易被我这粗略的笔记误导
shell脚本知识点总结:只适合简单学习过shell脚本的人,不然容易被我粗略的笔记误导

2020.08.06 22:37 最近看了一下测试工程师和软件测试的面试,不少要求掌握数据库基本增删改查,所以系统学习了一下数据库,把软件测试基础理论、linux和shell的知识点复习了一遍,之前单独做了python笔试题,明天开始系统做软件测试笔试题
数据库知识点汇总

2020.08.08 22:40 仔细阅读理解软件测试面试题中的1-45,尽量理解每一个生僻的概念,理解之后将答案修改为自己理解的口头语

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值