阿刁是一个自动化测试用例,从一出生他就被赋予终生使命,去测试一个叫登录的过程是否合理。他一直就被关在一个小黑屋里面,从来也没有出去过,小黑屋里还被关着其他的同胞,他们身上都捆着两个小袋子。
小黑屋里很难受,他们都想跑出去,可怎么也跑不出去。Python 是他们的总司令,有一次,python 告诉他们,你们就不要想着跑出去了,你们已经够幸运了,只有 8 个人用这个屋子,别的屋子都挤着 30 多个人呢!
“这里还有其他的屋子?” 一个用例顿时感到很欣喜。
“有,这样的屋子这里有 200 多个。每个屋子都有门牌号,你们这个门牌是 test_login,你们这个小镇住的人都很危险,所以通常不允许出去逛。这是你们的小镇地图。‘’
import_path.png
“我们哪里危险了。。。” 阿刁很不满。
Python 微微一笑:“你别不服,看到你们身后的袋子了吗?这里面装了炸弹,里面有两种火药配方,一个叫 ‘’用户名”,一个叫“密码”,你们每个人的配方都不一样,因此威力也不一样。你们的工作就是去测试 login 这个堡垒的坚固程度,这样堡垒真正投入使用的时候,就不怕外面的攻击了。”
“可我们每天都被关在屋子里,哪知道怎么去攻击城堡。”
“这个是个好问题。你们每个人的名字下面我都挂了个锦囊,里面有指令,按照指令做就行了。”
阿刁低头一看,还真有指令,他大声的念了出来:第一条指令是叫 verify 过来帮忙,第二条指令是把炸弹装到 verify 身上,第三条指令是查看 verify 竖起的旗帜,看是否和自己身上的胎记一样,如果一样,就可以下班了;如果不一样,那就报告Python。
“咦,我的指令也是一样的。我的胎记上有一行字,密码为空。你们的呢?”
“我的也是。”
"我的是用户不能为空。"
“我的跟你一样啊”
阿刁低头去看自己的胎记“登录成功”。这给了他希望,不过他对自己的工作还有些疑惑,他得乘总司令还在的时候问问他:“老大,你的指令写得非常明确,可我并不认识什么 verify,万一他不过来怎么办?”,其他人一听到这个顿时都焦虑起来,是啊,万一 verify 不来,这炸弹炸到自己了怎么办?
Python 指挥官给了阿刁一个赞赏的眼神,开始讲:“大家不要慌,你们看到墙上的按钮了吗“
所有人都纷纷望向墙面,上面有很多按钮,其中一个印着:
from castles.login import verify
”虽然你们通常不允许出去,但是别人是可以进出的,你们看地图,verify 是 login 城堡里面的内部人士,他只要走出城堡,就来到了镇上。在下达攻击命令之前,这些按钮会自动按下,我会派人去叫 verify 过来。注意,谁叫的他,谁对比旗帜内容,谁都不允许冒领。
包导入错误
阿刁对这种方式很满意,他是个内向的人,不善与人交际,也不喜欢出去串门。就这样他和 verify 合作了几个月,日子过得平淡轻松。这一天,指挥官又下达攻击任务了,阿刁熟练的完成了一系列准备工作,他看到其他人的表情和凝重,还有几个人正在打电话,他知道出事了。轮到他了,他到门口去叫 verify,可等了很久 verify 都没有进来,炸弹的计时器在响着,阿刁非常紧张,他等不了了,必须把这个问题报告指挥部,不然要出大事了。
电话还没拨出去,炸弹的计时器关了,指挥官终止了此次行动。没过多久,指挥官出现在了小黑屋给大家道歉:“不好意思,让大家紧张了。也不知道哪个码农在你们镇子外面修了堵墙,我在镇子里派出去联系 verify 的人找不到你们镇子的出口,迷路了。你们看地图,这个蓝色的就是墙。还好他们都及时给我打了报告,不然我根本就不知道。”
import_path_new.png
阿刁瞄了一眼那叠报告,都写的一样:
ModuleNotFoundError: No module named 'castles'
“这怎么办,我们送信的人都是临时工,对这里不熟悉。那不每次都会出现这样的问题?”
“我想到一个办法。” 阿刁说,“老大,你可以把去城堡的路线图画到墙上,这样临时工只要看一眼地图,就知道怎么走了。”
“这个办法可以。阿刁是个会思考的人。” Python 说:“不过地图这事不归我管,我得找系统,让他在地图上加点东西”。
Python 在墙上又设计了一个开关:
import sys
sys.path.append(r"D:\subjects\python_test\qianchengdai"")
"这是啥意思啊?"
Python 开始解释:“我们这个国家的人都随身携带一本册子,上面记录了我们常去的地方的一些路线;比如我家的地址就在上面,其他人可以随时来见我;你们现在的地方叫 qianchengdai 地区,我刚才把这个地区下面的主要线路放到了这本册子上,这样全国的人都知道怎么走了。”
阿刁试了一下,还真的可以了,老大就是老大啊,再也不用胆战心惊的担心炸弹爆炸了。。。