Can I put multiple project in one Git repository?
Dear Community, I'm setting up Gitlab repository to allow multiple tester to work together on scripts for the different modules we develop. I initially thought to create one repository named "API-Script" and put all the ReadyAPI project in it (one ReadyAPI project per module we develop). Is somebody could tell me if it's possible? And if it's not a good practice, why? Thanks,Solved24KViews0likes7CommentsChange git password with Visual Studio
We have to update our Windows 10 password every 3 months. I just recently did, so now GIT SYNC does not work with Visual Studio 12. I wanted to change my git password, but see the attached image. There is no way to enter a password. And yeah, this is sort of a VS rather than TC question, but I am using VS for TC code so someone must have experience ;-)3.4KViews0likes3CommentsManually specified file version selector names when uploaded from client via Git
Problem: I upload changes as a commit range in git between a reference branch (master) and my current HEAD. I then later need to rebase my current HEAD against an updated reference branch (master) and re-upload the changes. It cannot be differentiated in the file version selector during a review which versions of the file are reference branch (master) and which are HEAD versions. Generically, client tool uploaded differences from git commit ranges automatically label all versions of files as seen in file version selector drop down, with check-in time and non-human readable git object hash (not commit hash) only. Rebasing changes against the latest version of the reference branch, or merging the latest version of the reference branch into the changes, between a first and second upload to a review causes the "before" version from the reference branch to be different during the second uploaded of files and have a newer timestamp than the "after" version of the file from the first upload. The "before" versions therefore can't be differentiated from the "after" versions in the drop down. Solution: Add optional command line argument for "addgitdiffs" that will allow user specified names to be added to the before and after versions of all files included in the commit range. Conflicting names are automatically appended with standard "(1)", "(2)", etc for a given file based on upload order. For example, if I have changes on a "work" branch that originally forked from "master" branch and changed fileA and fileB, my upload command would be ccollab addgitdiffs --before-name="master" --after-name="work" ask master...work which would upload all changes made on the work branch since it split from master by uploading fileA and fileB from the commit on the master branch right before the work branch split, and fileA and fileB from the head of the work branch (currently). The extra arguments would add labeling for all the files from master as "master" and those coming from the work branch as "work" (new). When my review continues for a while and I need to rebase my work branch against the since-updated master branch I'll need to re-upload my changes relative to the new reference point on the master branch. Running the same command as before accomplishes that but causes a problem. When the differences in fileA are viewed without this feature, what's seen in the file version selector drop down is (larger numbers with the timestamps indicate newer timestamps): "<git object hash> <commit timestamp 1>" <---- from master branch in first upload "<git object hash> <commit timestamp 2>" <---- from work branch in first upload "<git object hash> <commit timestamp 3>" <---- from master branch in second upload "<git object hash> <commit timestamp 4>" <---- from work branch in second upload With the recommended feature this list becomes much more clear: "master <git object hash> <commit timestamp 1>" <---- from master branch in first upload "work <git object hash> <commit timestamp 2>" <---- from work branch in first upload "master(1) <git object hash> <commit timestamp 3>" <---- from master branch in second upload "work(1) <git object hash> <commit timestamp 4>" <---- from work branch in second upload3.1KViews1like0CommentsMatch addgitdiffs commit hash specification in the Command-line client to git commit hash specificat
The addgitdiffs command uses Git commit hash syntax identical to the git tool itself except in one regard: specifying individual commit hashes for addgitdiffs is handled the opposite of how the git tool does it. In Git syntax the following lines are identical: git diff AAAAAAA..BBBBBBB git diff AAAAAAA BBBBBBB In the Collaborator command-line client the following lines have exactly opposite meanings: ccollab addgitdiffs ask AAAAAAA..BBBBBBB ccollab addgitdiffs ask AAAAAAA BBBBBBB This seems to be because the addgitdiffs command handles the second case as a list of individual commits, which it assumes are in reverse chronological order (newest to oldest), rather than a direct pass-thru to the git tool (oldest-first) like the first command. To resolve this, split the addgitdiffs command for specifying a list of commits into a separate command (or require extra options).3KViews0likes0CommentsValue on Custom properties not incremented in the remote repository on the master branch
Hello, I use this groovy script to increment variable "increment" that i declared on Custom properties : // read the property as a string def uniqueUserPortion = testRunner.testCase.testSuite.project.getPropertyValue("increment") // convert it to an Integer, and increment def uniqueUserPortionInc = uniqueUserPortion.toInteger() + 1 // set the property back as string testRunner.testCase.testSuite.project.setPropertyValue("increment", uniqueUserPortionInc.toString()) // check return testRunner.testCase.testSuite.project.getPropertyValue("increment"); When I launch the script in my local branch, the variable 'increment' is successfully incremented, but when the Jenkins started to run the job automatically on the master branch, the value of the variable 'increment' doesn't change. So I supposed that the script could not be executed automatically on the master branch. the project on my local branch is the same that I have on the master branch Have you any ideas about that issue? Thank you in advance for your responseSolved3KViews0likes11CommentsUse TortiseGit Client Setting
I have noticed the setting in Options, Use TortiseGit client, keeps getting turned off. Anyone else having this problem? If not, I may have missed setting a .gitignore entry. There are multiple users in the branch currently. Could someone double check me on the file I should be ignoring and the entry I should make in .gitignore? Thanks!Solved2.4KViews0likes9CommentsGitHub & Jenkins integration with TestComplete & TestExecute
Hello everyone, I have implemented source code control through GitHub with TestComplete. My problem/question is in regards to Jenkins and TestExecute on a test slave machine. This is what I've done so far: 1. I have implemented GitHub with TestComplete (using Msysgit and TortoiseGit) 2. My TestComplete project has been uploaded to GitHub 3. Jenkins has the GitHub Authentication plugin (configured to my account) 4. Jenkins has the GitHub plugin I want to be able to pull the latest copy of the TestComplete project to the machine(s) running TestExecute. How do I accomplish this task? Does Jenkins support this or do I have to run some type of command line on the machine beforehand to prep the project? I really just need some direction on the best way to accomplish this task. I'm not the most familiar with Git(Hub) and how this would/should work. Thanks for your help! MattSolved2.2KViews0likes2CommentsTestEngine + Jenkins Plugin: Execute list of Project/Suite/Case SoapUI tests
In their current implementation 1.) the TestEngine needs to be provided a zip with all required files by the calling client 2.) the TestEngine Jenkins plugin will execute one Project/Suite/Case per Jenkins job Problem: This setup does not scale to execute many Project/Suite/Case SoapUI tests in a row Suggestion: ad 1.) a.) Provide TestEngine the ability to access/checkout GIT repos containing SoapUI Projects b.) Add an API to TestEngine that will take the Project/Suite/Case/... parameters and pick all required files from above local checkout area --> Like this no files need to be created/transfered to the TestEngine server What still needs to be done is the specification of the list of Project/Suite/Case to be executed. This could be provided by one or more config files maintained in the GIT repo(s) ad 2.) In case the TestEngine runs on the Jenkins slave(s), the Jenkins job could - checkout the GIT repo(s) - locate the config file(s) containing the list of /Project/Suite/Case SoapUI Tests in the checkout area (e.g. via parameter) - loop the config file(s) calling the TestEngine API with Project/Suite/Case/... parameters --> like this - The TestEngine is running as a server (contrary to testruner.sh) - The invocation of many Project/Suite/Case's will run with minimal overhead (presumably msecs instead of secs) - all required files are taken from a repo -> any updates propagate to TestEngine automatically Remark: This type of automated execution of SoapUI Test from different Project/Suite/Case needs to complemented with a suitable test report (e.g. csv file with Project/Suite/Case/Step, timeStamp, Status, ExecTime, ErrorMsg, ...1.9KViews1like1CommentHow to prevent ReadyAPI from randomly changing how it stores empty XML elements?
Why does ReadyAPI change how it stores a blank XML tag from, say <con:properties/> to <con:properties></con:properties> If I make one change and save, I may see many of these differences, which complicates review of the code. I see this in projects where Composite project is false, and in projects where it is true. The representation of blank XML elements is one of many things about how ReadyAPI stores a project that seem to change at random with each new version or sometimes randomly within the same version. I have tried setting the flag "Pretty prints project files", but this is not sufficient to stop this noise. Is there some other flag I can set so that the method for encoding the project doesn't obscure actual logic changes when I look at the differences? Preferably something that gets remembered in the project, rather than depending on a user setting? References: The following are a few postings that seem relevant, but don't clean up the random XML representations. "Version control - Diff is very confusing for ReadyAPI projects?" https://community.smartbear.com/t5/API-Functional-Security-Testing/Version-control-Diff-is-very-confusing-for-ReadyAPI-projects/m-p/209420#M47734 - Answer: Yes, currently, if you change one thing in ReadyAPI, several things in different places of the project might change as well. "How do I minimize merge conflicts in a ReadyApi composite project when working as part of a team?"https://community.smartbear.com/t5/API-Functional-Security-Testing/How-do-I-minimize-merge-conflicts-in-a-ReadyApi-composite/m-p/141151 - No accepted answer - Recommendation to check the flag "Pretty prints project files" "While this allows you to see exactly what has changed when diff-ing versions, it does have the problem that this is an application setting, thus you have to make sure all users set this value manually on their copies of ReadyAPI (If a user does not set this in their copy ReadyAPI it will revert to saving on a single line). Ideally I would like to see this as a project setting."Solved1.7KViews0likes7Comments