Search Unity

Assets [RELEASED] Trilleon - Full Integration Automation and Unit Test Framework

Discussion in 'Works In Progress' started by tsibiski, Aug 14, 2017.

  1. tsibiski

    tsibiski

    Joined:
    Jul 11, 2016
    Posts:
    277
    A new Trilleon update has been released that fixes several potential bugs: V1.1.2

    Additionally, I have created the first demo video for Trilleon that explains all of the Nexus editor window functionality!
     
  2. tsibiski

    tsibiski

    Joined:
    Jul 11, 2016
    Posts:
    277
    Hi Ya'll,

    I just wanted to gauge how many people are using the Trilleon framework, to determine how much of my free time I should be devoting to Trilleon. I was recently laid off again, and I do not expect to be working within Unity in my next position.

    The response to Trilleon has been incredibly luke-warm. Before release, it seemed that there was a strong interest in the framework, but since then, I have seen almost zero interest in the Trilleon automation framework. Both in the forum threads and via Github.

    I would love to know who is using it, and a quick poke on how it has helped you. If there seems to be a reasonable number of people using it, I will continue to develop for it and improve it.

    Thanks to any responses.

    Regards,
    Tim
     
  3. tsibiski

    tsibiski

    Joined:
    Jul 11, 2016
    Posts:
    277
    I'd like to spend some time in the near future to upgrade Trilleon. Among those that are invested in Trilleon, can anyone give me a heads up on what they would like to see most. It can be anything from better documentation to a specific feature!
     
  4. perevezentsev

    perevezentsev

    Joined:
    Nov 5, 2014
    Posts:
    10
    Can't access any page on your wiki:

    upload_2018-12-3_18-7-23.png
     
  5. tsibiski

    tsibiski

    Joined:
    Jul 11, 2016
    Posts:
    277
    The wiki is back up!
     
  6. tsibiski

    tsibiski

    Joined:
    Jul 11, 2016
    Posts:
    277
    Hi There.

    I am rewriting the CI scripts to work in Linix in addition to Mac OS. While I am doing this, is anyone else interested in ANTHING Trilleon? I have been only slowly attending to it due to a, seemingly, extremely small interest in the framework. If you are actively using it and/or wish to use it, please let me know what features you want most (or just let me know that you are using it). If I get no replies to this, I am only going to assume that the interest is light, and won't get to it in a timely fashion.

    Thanks!
     
  7. Jochanan

    Jochanan

    Joined:
    Nov 9, 2016
    Posts:
    81
    Hi @tsibiski ,
    First, let me thank you for a great work so far. I would like to run a stress test with lots and lots of instances (low hundreds). I would love to have windows support as well, but i think linux support will do as well :)
     
    tsibiski likes this.
  8. tsibiski

    tsibiski

    Joined:
    Jul 11, 2016
    Posts:
    277
    I am actually working on a Linux version of the server scripts this weekend but can do Windows after that.
     
    Jochanan likes this.
  9. Jochanan

    Jochanan

    Joined:
    Nov 9, 2016
    Posts:
    81
    Hi, any news on Linux/Windows version?
     
  10. AdamSingle

    AdamSingle

    Joined:
    Apr 18, 2013
    Posts:
    18
    Hello @tsibiski I only just found this project, but I see you're reaching out looking for interest. I can tell you I'm about to integrate it into a project here at work. I'll let you know how it goes, but I'm very excited for it. Thank you in advance for all the work you've put in
     
  11. tsibiski

    tsibiski

    Joined:
    Jul 11, 2016
    Posts:
    277
    Hi all. I have had some important life events that have made me ghost. I am going to try my darnedest to work on these PowerShell scripts this weekend.
     
    Jochanan likes this.
  12. laduza01

    laduza01

    Joined:
    Oct 30, 2015
    Posts:
    1
    Great news! :)
     
    tsibiski likes this.
  13. tsibiski

    tsibiski

    Joined:
    Jul 11, 2016
    Posts:
    277
    I've got a first-pass/rough pass of the powershell scripts. I am going to test them step by step tomorrow to whenever I am happy with them. But it is important to reiterate that I do not have the ability to test them end to end. So there may be some commands that hiccup. We can work them out together once I post the first draft of PowerShell scripts.
     
  14. tsibiski

    tsibiski

    Joined:
    Jul 11, 2016
    Posts:
    277
    The first, and largest of the scripts is fully converted from a bash script to powershell
    https://github.com/tsibiski/trilleon/blob/master/server/RunAppiumLocal.ps1

    Though there may be some issues - once I get the other shell scripts into ps1, and you hook it all together.

    There also may be some permissioning issues around PowerShell. Note in this file that I do two things that require admin privileges to do.

    First, I kill process that are on explicit port numbers using Stop-Process. Additionally, Start-Process requires similar privileges. The latter can be fixed by manually opening PowerShell in Admin mode and doing "Set-ExecutionPolicy Unrestricted", although this may not apply to PowerShell scripts launched by a CI process such as Jenkins.

    Also, Stop-Process requires the shell to be running with full admin rights, so it may not work in this context. This may require something fancy that I just haven't figured out yet.
     
    AdamSingle likes this.
  15. tsibiski

    tsibiski

    Joined:
    Jul 11, 2016
    Posts:
    277
    Thanks to @AdamSingle for notifying me of this bug: A newer version of Unity changed things such that the "Recorder" logic could not find objects marked as "DontDestroyOnLoad". This is fixed, and I've deployed a new version on Github that has this fix.
     
  16. AdamSingle

    AdamSingle

    Joined:
    Apr 18, 2013
    Posts:
    18
    @tsibiski sorry for the radio silence. Another short term project jumped up at work and budget has been pulled away from Trilleon integration for now. You know how it is. How did you go with the windows version of the server?
     
  17. tsibiski

    tsibiski

    Joined:
    Jul 11, 2016
    Posts:
    277
    The Powershell scripts are tentatively complete, and available here: https://github.com/disruptorbeam/trilleon/tree/master/server/sh

    Tentatively, in this case, meaning that I cannot test them end to end currently. But each command was tested individually. Please report any issues you encounter :) Thanks!
     
  18. tsibiski

    tsibiski

    Joined:
    Jul 11, 2016
    Posts:
    277
    After review, It looks as if every command in the current shell scripts for Mac should work on Linux. Please give it a try, and tell me if any commands do not work.
     
  19. AdamSingle

    AdamSingle

    Joined:
    Apr 18, 2013
    Posts:
    18
    Thank you @tsibiski
    Is the process still to follow the set up instructions for the mac on PC? as in using npm to install appium etc
     
  20. tsibiski

    tsibiski

    Joined:
    Jul 11, 2016
    Posts:
    277
    Good question. That is definitely a place where things could differ. Linux uses apt-get commands for downloading certain things. Anywhere that I use Homebrew /"brew" commands would be replaced by apt-get.

    For example, if you come to "brew install python", try "apt-get install python3.6". A quick google search should bridge any gaps in that process. I will add modifications to give alternatives for Linux asap.

    But any command that uses npm will require Nodejs as normal. Once you download that for Linux, npm commands will be the same.

    If you come to a command that does not work with minor changes like those mentioned above, please let me know, and I will update the documentation.
     
    AdamSingle likes this.
  21. dsgrassg

    dsgrassg

    Joined:
    Sep 3, 2019
    Posts:
    3
    Hello @tsibiski. I am very excited to learn about Trilleon. At this moment I'm following this example (
    ) but I can't find the WaitForCondition () function.
    Thanks for your help!
     
  22. tsibiski

    tsibiski

    Joined:
    Jul 11, 2016
    Posts:
    277
    Hi @dsgrassg . The WaitForCondition() method was deprecated before the first public release of the framework, so I removed it entirely from the framework. Instead, use "WaitUntil()", and pass any custom condition in as an argument.

    So as an example:
    Code (CSharp):
    1. yield return WaitUntil(() => MyGameObject.IsVisibleAndInteractable());
    Before, using WaitForCondition, I had a convoluted wait of setting a condition, and it was more like Seleniums conditional waits. It would look more like this:


    Code (CSharp):
    1. //Deprecated and deleted.
    2. yield return WaitForCondition(Condition.Visible, MyGameObject);
    This was too limiting as I needed to define every possible condition and define that conditional check in WaitForCondition. It was too limiting and inflexible. So I just decided to make WaitUntil and let you pass the condition that you want to check for as a predicate/anonymous function.
     
  23. Mikael-H

    Mikael-H

    Joined:
    Apr 26, 2013
    Posts:
    281
    I just found this and I am impressed! Looks awesome! I have to try it on something :) Are you still working on it?
     
    tsibiski likes this.
  24. tsibiski

    tsibiski

    Joined:
    Jul 11, 2016
    Posts:
    277
    Hi Mikael-H,

    I have not been actively working on it. Before I released it, a lot of people were providing feedback and comments that showed a good amount of interest. So I made sure it was open source after I had it working for my employer. There was a surprising lack of interest after I released it, though.

    And since I had around 2 people that I knew were using it in any capacity for a year after its release, I couldn't convince myself to devote too much of my time to it after I left the game industry (working for non gaming software companies now).

    In specific scenarios, I am very happy to add things and help out. But without much public interest, there's no way I can convince myself to expand and actively update it. And granted, there may be quite a bit of interest that I don't know about, but if there is, they never reached out to me to express that.

    Sorry, that's a lot more than your bargained for with your question, I'm, sure. Just thought this was a good time/place to put all that out there! ;)
     
    one_one likes this.
  25. Mikael-H

    Mikael-H

    Joined:
    Apr 26, 2013
    Posts:
    281
    No that was exactly the type of information I was looking for, thanks for taking the time to answer!

    I suspect an asset like this has a very high value for a few people as opposed to others that has a little value to lots of people. The amount of devs who take their work seriously enough to do rigorous atutomated testing is probably small, but the ones who do probably really like this :)

    Thanks for open sourcing it!
     
    tsibiski likes this.
unityunity