前言2013年即将结束,不知读者在这一年中都收获了那些。
在这一年的最后一天班,我怀着激动的心情来写这本电子书的前言,在这本电子书的整理过程中,虽然舍弃了很多享受生活的时间,但从中我也收获了很多。
自从开始从事软件测试工作开始,我就深深的喜欢上了这个职业。
对我来说软件测试不单单是一份为了赚钱的工作,它同样也是我生活的一部分,我从中找到了自我的价值。
从开始在博客园写博客时,自我的价值开始被放大,我只多了一点分享精神。
从开始从事软件工作时就知道selenium这个自动化工具,网上找来资料学习,学会了用seleniumIDE录制脚本,学会了简单搭建java+seleniumRC的环境,写一个简单的自动化脚本。
后来,换了城市换了工作,一直于忙于工作和其它技术的学习,中间间隔了一年多没有再接触selenium。
直到2013年年初换了新工作后工作稍微轻松,业余时间开始学习python语言,然后就喜欢上了这门语言,由于所测试的是web产品,所以,就考虑通过python+selenium将产品自动化起来。
关于python+selenium的资料除了官方的一份API并不多,我们更容易找到的是java+selenium的资料。
对我来说学习的过程也比较缓慢,后来有幸认识了MarkRabbit,他在python+selenium方面有着比较丰富的实践经验。
webdriverAPI对种元素的定位和操作有着不少知识点,我每学会使用一个知识点整理一篇博客。
后来,积累了十几篇博客出来。
为了便于阅读我就整理成了一份PDF上传到了CSDN上面。
在MarkRabbit的一路指点下,我又开始学习pyhonunittest单元测试框架,通过python脚本批量执行测试用例等,然后整理出来第二版的内容。
在此过程中得到了不少同学的反馈,自己的自动化测试水平在不断的学习实践中得到了长足的进步。
后来,开始对脚本做参数化,引入HTMLTestRunner测试报告以及对测试结构调整。
整理出了第三版。
MarkRabbit趁周末休息的时间向我展示他们目前的python+selenium测试框架,我非常兴奋,同时也觉得这个技术非常有用,于是决定整理一本完整书出来,市面上关于selenium的书大多翻译官方文档,对selenium的讲解也泛泛之谈,并没有真正通过编程的方式来帮助读者真正的去实施自动化。
之前一位人民邮电出版社的编辑曾联系过我,并向我发送了一份编书的规范,当时并没有约稿。
这对我来说是一次新尝试,我想自己真能写出来再说。
有了这个想法之后,我每天像打了鸡血一样活在兴奋当中,坐车和睡觉前也在思考书中的技术点。
后来,乙醇告诉我编辑成书比较麻烦,不断的修改也是非常头痛的事情,而我没有精力反复做这些,由于自身水平的局限,我的更多精力是在技术点学习上。
后来,改变了想法以电子书的形式展现给大家,这样我的编写过程随意了许多,我要做就是简单易懂告诉这是怎么回事,如何去实现。
2025/8/22 19:32:06 6.14MB Selenium2
1
巧妙地利用SPI时钟同步由MOSI传送8位串行数据给595并行输出,同时通过595由MISO读回
2025/8/22 9:12:04 48KB SPI 接口 595 原理图
1
本微软面试100题系列,共计11篇文章,300多道面试题,截取本blog索引性文章:程序员面试、算法研究、编程艺术、红黑树、数据挖掘5大系列集锦:http://blog.csdn.net/v_july_v/article/details/6543438,中的第一部分编辑而成,涵盖了数据结构、算法、海量数据处理等3大主题。
闲不多说,眼下九月正是校招,各种笔试,面试进行火热的时节,希望此份微软面试100题系列的PDF文档能给正在找工作的朋友助一臂之力!如果读者发现了本系列任何一题的答案有问题,错误,bug,恳请随时不吝指正,你可以直接评论在原文之下,也可以通过私信联系我。
祝诸君均能找到令自己满意的offer或工作,谢谢。
July、二零一二年九月二十日
2025/8/22 2:58:52 4.43MB 微软面试 100题
1
我是一名在校生,08年过的信息系统项目管理师,考试没有什么诀窍,全凭资料。
我相信看过这些论文范例的考试者,过论文应该没有问题。
这些资料是我花了1年多时间搜集整理出来的,里头包括了:论文范例130多篇;
自己写的模拟论文3篇;
论文注意事项3篇;
相关论文50多篇;
经验参考资料20多篇。
相信对您的考试是如虎添翼!绝对超值!全贡献给大家了。
1
最近在尝试将AE算法改写为分布式架构就先写了个单机版,AE可以用来给数据降维,由于是基于ANN的框架写的所以要是想实现ANN的功能略作修改即可
2025/8/21 17:23:46 3KB java AE autoencoder 自动编码器
1
从人大经济论坛上花500币买的,共享给大家
2025/8/21 13:07:49 11.77MB 中国 县市级
1
基于MATLAB的2ASK幅度键控+调制解调的系统仿真M文件并给出了M文件环境下的仿真结果
2025/8/21 12:03:54 521KB MATLAB 2ASK
1
###Keil5.25与Keilv4工程兼容包详解####一、KeilMDK5.25简介KeilMDK(MicrocontrollerDevelopmentKit)是一款非常强大的嵌入式软件开发工具,它支持多种微控制器平台,如ARM、Cortex-M等。
KeilMDK5.25作为MDK系列的一个版本,为用户提供了更加高效、稳定的开发环境,特别是在ARMCortex-M系列微控制器方面有着广泛的应用。
####二、Keilv4工程概述Keilv4是Keil早期的一个版本,广泛应用于基于8位或16位微控制器的开发项目中。
随着技术的发展,许多项目逐渐迁移到了更高级别的KeilMDK版本上。
然而,在某些情况下,开发者可能仍然需要处理旧版的Keilv4工程项目,这就涉及到了兼容性问题。
####三、Keil5.25与Keilv4工程兼容包的重要性随着微控制器技术的发展,新的开发工具不断涌现,但许多老项目仍然使用的是Keilv4这样的旧版本。
为了能够在新版本的KeilMDK中继续使用这些旧项目的工程文件,就需要使用兼容包来确保兼容性。
Keil5.25提供的兼容包能够实现这一点,它使得开发者可以在Keil5.25环境中顺利打开并编辑Keilv4的工程文件,从而大大提高了工作效率。
####四、兼容包安装与使用指南1.**下载兼容包**:通过官方提供的链接(例如题目中给出的百度网盘链接),下载适用于Keil5.25的兼容包。
-**注意**:确保从可靠的来源获取兼容包,以避免安全风险。
2.**安装兼容包**:-在安装过程中,遵循提示进行操作。
通常情况下,安装程序会自动检测到已安装的KeilMDK版本,并根据需要安装相应的兼容组件。
3.**配置环境**:-安装完成后,需要在Keil5.25中进行一定的配置,以确保能够正确识别并打开Keilv4的工程文件。
-可能需要手动添加一些路径或者进行其他设置,具体步骤可参考官方文档或在线教程。
4.**打开Keilv4工程**:-成功安装并配置好环境后,可以直接在Keil5.25中打开Keilv4的工程文件。
-如果遇到任何问题,可以尝试检查兼容包的版本是否与当前使用的KeilMDK版本匹配。
####五、注意事项-**版本兼容性**:确保所下载的兼容包版本与Keil5.25版本相匹配。
-**安全性**:从官方渠道获取兼容包,避免从不可靠的第三方网站下载,以免引入恶意软件或病毒。
-**更新与维护**:定期关注官方发布的更新信息,及时更新兼容包以获取最新的功能和支持。
-**技术支持**:如果在使用过程中遇到问题,可以通过官方论坛或技术支持寻求帮助。
####六、总结Keil5.25与Keilv4工程兼容包为开发者提供了一个便捷的解决方案,使得在新版本的KeilMDK环境中也能处理旧版工程成为可能。
这对于那些需要维护或更新老项目的工作来说至关重要。
通过正确安装和配置兼容包,可以大大提高开发效率,同时减少由于版本不兼容带来的困扰。
希望本文能对正在面临此类问题的开发者有所帮助。
2025/8/21 4:14:38 67B Keil 5.25
1
本文档介绍了Hi3518EV20X和Hi3516CV200芯片的特性、逻辑结构,详细描述各个模块的功能、工作方式、相关寄存器定义,用图表的方式给出了接口时序关系和相关参数,并详细描述了芯片的管脚定义和用途以及芯片的性能参数和封装尺寸。
2025/8/20 18:51:03 24.48MB 海思
1
录音程序,可在DEC++或vc++6.0编译环境下成功运行部分代码:intmain(){creat_file();//新建文件,原文件数据被删除RecordWave();//录音函数simplest_pcm16le_to_wave("NocturneNo2inEflat_44.1k_s16le.pcm",1,44100,"output_nocture.wav");//将二进制录音信息从内存中提取,并生成wav文件测控1602DEVC++环境下控制台应用程序善解人意成员:王帅、赵永玻、侯雅茹3return0;}voidRecordWave(){intcount=waveInGetNumDevs();//检测录音设备printf("\n音频输入数量:%d\n",count);WAVEINCAPSwaveIncaps;MMRESULTmmResult=waveInGetDevCaps(0,&waveIncaps;,sizeof(WAVEINCAPS));printf("\n音频输入设备:%s\n",waveIncaps.szPname);if(MMSYSERR_NOERROR==mmResult){//HWAVEINphwi;WAVEFORMATEXpwfx;//录音格式指针WaveInitFormat(&pwfx;,//波形声音的格式,单声道双声道使用WAVE_FORMAT_PCM.当包含在WAVEFORMATEXTENSIBLE结构中时,使用WAVE_FORMAT_EXTENSIBLE1,//声道数量44100,//采样率16//采样位数);printf("\n正在打开音频输入设备");printf("\n采样参数:声道44.1kHz16bit\n");mmResult=waveInOpen(&phwi;,WAVE_MAPPER,&pwfx;,(DWORD)(MicCallback),NULL,CALLBACK_FUNCTION);//3if(MMSYSERR_NOERROR==mmResult){//WAVEHDRpwh1;charbuffer1[10240];pwh1.lpData=buffer1;pwh1.dwBufferLength=10240;pwh1.dwUser=1;pwh1.dwFlags=0;测控1602DEVC++环境下控制台应用程序善解人意成员:王帅、赵永玻、侯雅茹4mmResult=waveInPrepareHeader(phwi,&pwh1;,sizeof(WAVEHDR));//为波形输入设备准备缓冲区printf("\n准备缓冲区1");//WAVEHDRpwh2;charbuffer2[10240];pwh2.lpData=buffer2;pwh2.dwBufferLength=10240;pwh2.dwUser=2;pwh2.dwFlags=0;mmResult=waveInPrepareHeader(phwi,&pwh2;,sizeof(WAVEHDR));//为波形输入设备准备缓冲区printf("\n准备缓冲区2\n");//WAVEHDRpwh3;charbuffer3[10240];pwh3.lpData=buffer3;pwh3.dwBufferLength=10240;pwh3.dwUser=3;pwh3.dwFlags=0;mmResult=waveInPrepareHeader(phwi,&pwh3;,sizeof(WAVEHDR));//为波形输入设备准备缓冲区printf("准备缓冲区3\n");if(MMSYSERR_NOERROR==mmResult){mmResult=waveInAddBuffer(phwi,&pwh1;,sizeof(WAVEHDR));//给输入设备增加一个缓存printf("\n将缓冲区1加入音频输入设备");mmResult=waveInAddBuffer(phwi,&pwh2;,sizeof(WAVEHDR));//给输入设备增加一个缓存printf("\n将缓冲区2加入音频输入设备\n");mmResult=waveInAddBuffer(phwi,&pwh3;,sizeof(WAVEHDR));//给输入
2025/8/20 13:54:12 332KB C语言 录音程序
1
共 1000 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡