重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
上一篇安装文档描述了在Appium环境配置时介绍了Maven的安装和配置,而事实上Maven对于使用Appium来说并不是必须的,它只是方便我们管理整个Java测试项目而已。
河东网站建设公司成都创新互联,河东网站设计制作,有大型网站制作公司丰富经验。已为河东上千余家提供企业网站建设服务。企业网站搭建\成都外贸网站建设公司要多少钱,请找那个售后服务好的河东做网站的公司定做!在此之前并没有用过Maven,百度百科给出的定义如下:
Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。
Maven这个单词来自于意第绪语,意为知识的积累,最早在Jakata Turbine项目中它开始被用来试图简化构建过程。当时有很多项目,它们的Ant build文件仅有细微的差别,而JAR文件都由CVS来维护。于是Maven创始者开始了Maven这个项目,该项目的清晰定义包括,一种很方便的发布项目信息的方式,以及一种在多个项目中共享JAR的方式。
在初步使用的过程中Maven给我大的印象是帮助我们很方便的解决了包依赖的问题,其办法是通过设置Maven的项目配置文件pom.xml实现的。实例如下:
4.0.0 majcit.com AppiumDemo 0.0.1-SNAPSHOT jar AppiumDemo http://maven.apache.org UTF-8 junit junit 4.11 compile org.hamcrest hamcrest-all 1.3 compile io.appium java-client LATEST test
当我们往该文件上面添加一个dependency的session,然后ctrl+s保存的时候,Maven就会自动帮我们把需要的Jar包和对应的依赖包下载配置好。下载的位置就是安装文档里面配置的Maven的Repository路径。
这些包Maven安装好后我们就可以直接在代码中引用了,不需要特别的配置。
最后提醒我们需要使用appium进行测试自动化,可千万要记得把appium对应的客户端给安装上,如使用的是java客户端,那么我们就记得在pom.xml里面添加以下的dependency就好了,切记切记:
io.appium java-client LATEST test
groupId,artifactId和version这个三组合标示依赖的具体工程,而且这个依赖工程必须是maven中心包管理范围内的。如果碰上非开源包,maven支持不了这个包,那么则有三种方法处理:
1.本地安装这个插件install plugin例如:
mvn install:install-file -Dfile=non-maven-proj.jar -DgroupId=some.group -DartifactId=non-maven-proj -Dversion=1
2.创建自己的Repositories并且部署这个包,使用类似上面的deploy:deploy-file 命令3.设置scope为system,并且指定系统路径
dependency里面的classifier,用于区分从同一个pom编译出来的但是内容不同的同名包,例如同一个工程编译出两个artifact,一个支持jdk1.5一个支持jdk1.4,那么就可以使用这个来命名为jdk15和jdk14来区分,它如果出现在包名中,那么它必须跟在版本号后。还有一种情况是将一个工程的一些次要artifact附到主要artifact中,就可以使用这个来区分,例如一个工程产生source,javadoc,class三种东西,那么就可以使用不同的classifier来分别标识这些东西
dependency里面的type,默认为jar,类型,常用如:jar,ejb-client,test-jar,可以设置plugins中的extensions值为true后在增加新类型
dependency里面的scope,指定classpath,可以为:compile(默认的,compile scope在所有classpaths内有效,这些dependencies将会传播到项目中。provided:指示jdk或者某个容器可以提供他,它只在compilation和test的classpaths有效,而且不会传播的。runtime:指示这个dependency在编译过程是不必要的,但是执行需要,在test和runtime的classpaths有效,在compile的classpaths无效。test:指示这个dependency在一般程序运行是无效的,但是在test的compilation和execution是有效的,system则跟provided类似,但是这种dependency必须人工明确地制定。这种依赖不会在repository中查找。
dependency里面的systemPath:只在dependency的scope声明为system的时候才有用除,否则,build的过程将会失败。路径必须是绝对的,所以最好使用property来声明机器的特定路径。
dependency里面的optional:如果工程本身是一个dependency那么就标记为optional,例如X需要A,A需要B,那么X只需要optional的B,则B在X中就是optional声明的了
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。