tfsbuild - specflow plugin with nunit and TFS build -
i in middle of trying specflow ui tests working tfs build , very close.
i wanted able run same test on number of browsers, , after research found this:
http://www.baseclass.ch/blog/lists/beitraege/post.aspx?id=4&mobile=0
and works dream local test runs. next step call selenium grid during tfs 2010 build.
after getting nunit community build task build template, stuck error can't seem resolve. build reports following error:
error: system cannot find file specified. stack trace: @ system.diagnostics.process.startwithcreateprocess(processstartinfo startinfo) @ system.diagnostics.process.start() @ tfsbuildextensions.activities.codequality.nunit.runprocess(string fullpath, string workingdirectory, string arguments) in d:\projects\codeplex\teambuild2010contrib\customactivities\legacy\vs2010\source\activities\codequality\nunit\nunit.cs:line 339 @ tfsbuildextensions.activities.codequality.nunit.publishmstestresults(string resulttrxfile, string collectionurl, string buildnumber, string teamproject, string platform, string flavor) in d:\projects\codeplex\teambuild2010contrib\customactivities\legacy\vs2010\source\activities\codequality\nunit\nunit.cs:line 394 @ tfsbuildextensions.activities.codequality.nunit.publishtestresultstotfs(activitycontext context, string folder) in d:\projects\codeplex\teambuild2010contrib\customactivities\legacy\vs2010\source\activities\codequality\nunit\nunit.cs:line 387 @ tfsbuildextensions.activities.codequality.nunit.internalexecute() in d:\projects\codeplex\teambuild2010contrib\customactivities\legacy\vs2010\source\activities\codequality\nunit\nunit.cs:line 299 @ tfsbuildextensions.activities.basecodeactivity.execute(codeactivitycontext context) in d:\projects\codeplex\teambuild2010contrib\customactivities\legacy\vs2010\source\common\basecodeactivity.cs:line 67.
however, seems masking deeper error me says nunit can't load custom assembly. had through binaries folder on build server nunit logs, , sure enough in test run .xml file find error:
system.configuration.configurationerrorsexception : type 'openqa.selenium.remote.remotewebdriver, baseclass.contrib.specflow.selenium.nunit.specflowplugin' not found. may require assembly qualification, e.g. "mytype, myassembly".
at autofac.configuration.configurationregistrar.loadtype(string typename, assembly defaultassembly) @ autofac.configuration.configurationregistrar.registerconfiguredcomponents(containerbuilder builder, sectionhandler configurationsection) @ autofac.configuration.configurationregistrar.registerconfigurationsection(containerbuilder builder, sectionhandler configurationsection) @ autofac.configuration.core.configurationmodule.load(containerbuilder builder) @ autofac.module.configure(icomponentregistry componentregistry) @ autofac.containerbuilder.build(icomponentregistry componentregistry, boolean excludedefaultmodules) @ autofac.containerbuilder.build(containerbuildoptions options) @ registrationform.tests.acceptance.features.userregistrationfeature.featuresetup() in c:\builds\1\testing\registrationform - nightly - main\sources\testing\registrationform\main\registrationform.tests.acceptance\features\userregistration.feature.cs:line 0
from started @ path custom assembly. specified in app.config file project (which transformed during build. checked ensure file being transformed, , in binaries directory on build server is). relevant section of file this.
<specflow> <stepassemblies> <stepassembly assembly="specflow.assist.dynamic" /> <stepassembly assembly="baseclass.contrib.specflow.selenium.nunit.bindings" /> </stepassemblies> <unittestprovider name="seleniumnunit" /> <plugins> <add name="baseclass.contrib.specflow.selenium.nunit" path="..\packages\baseclass.contrib.specflow.selenium.nunit.1.2.0\tools" /> </plugins>
which works locally. figured need change path in transformed file. @ first assumed working directory binaries directory in transform file have this:
<specflow> <plugins xdt:transform="replace"> <add name="baseclass.contrib.specflow.selenium.nunit" path="." /> </plugins>
the dll in same dir (binaries) tried ".", "", ".\" - none of these worked. after thinking little more , reading errors more thought needed in sources folder on build server. dll in packages folder (nuget package restore), , path should same use locally. didn't work either. path relative ".feature" file throwing error? needed "..\" - still no luck.
so @ bit of loss, feel have tried paths can think of, knowledge of specflow plugins , tfs build letting me down. can give me pointers?
but initial error saying tfss nunit support cant find file when calls createprocess, , works local test runs, simple nunit isn't installed on machine running test you?
Comments
Post a Comment