> Executing them probably is happen through
> the junit - maybe we could use flexunit ? etc.

Josh set up a pretty good system.[1]

I’m hoping we can adopt that and extend it to run selenium as well.

[1]https://github.com/BowlerHatLLC/asconfigc/tree/master/test 
<https://github.com/BowlerHatLLC/asconfigc/tree/master/test>

> On Nov 3, 2017, at 2:57 PM, Piotr Zarzycki <[email protected]> wrote:
> 
> Don't think about Maven for now. Once you build your fist test in AS3 I
> will probably add there Maven too. In that case Maven is just building jar
> and you can execute those jar. Executing them probably is happen through
> the junit - maybe we could use flexunit ? etc.
> 
> Here is how I understand above example:
> 1) Maven is building jar and helping to reach our examples probably by
> dependency: RoyaleStore
> 2) jar has been run along with tests which are using gecko driver [1]
> 3) Test is executed [3] -
> If we let's say can write tests in node.js and use selenium functions -
> that's ok cause we can wrap up all node things in AS3.
> 
> [1] https://github.com/mozilla/geckodriver 
> <https://github.com/mozilla/geckodriver>
> [2]
> https://github.com/apache/royale-asjs/blob/develop/examples/examples-integrationtests/src/test/java/org/apache/royale/examples/royalestore/RoyaleStoreIT.java
>  
> <https://github.com/apache/royale-asjs/blob/develop/examples/examples-integrationtests/src/test/java/org/apache/royale/examples/royalestore/RoyaleStoreIT.java>
> 
> Piotr
> 
> 
> 2017-11-03 13:36 GMT+01:00 Harbs <[email protected] 
> <mailto:[email protected]>>:
> 
>> I don’t understand how they work at all. There seems to be some Maven
>> magic going on, and I was having trouble figuring it out that last time I
>> looked.
>> 
>>> On Nov 3, 2017, at 2:23 PM, Piotr Zarzycki <[email protected]>
>> wrote:
>>> 
>>> Harbs,
>>> 
>>> I haven't used them personally, but I understand how they are working. I
>>> agree that we should put our effort to have those tests written in AS3
>>> instead of Java. We don't have to many active people among the committer
>>> who know Java. Those example which we have can be just starting point -
>> Can
>>> it be rewritten to AS3 ?
>>> 
>>> Piotr
>>> 
>>> 2017-11-03 13:04 GMT+01:00 Harbs <[email protected] 
>>> <mailto:[email protected]> <mailto:
>> [email protected] <mailto:[email protected]>>>:
>>> 
>>>> Hi Piotr,
>>>> 
>>>> Do you understand how the Selenium tests work and how to write them?
>>>> 
>>>> It looks like the tests are written in Java. IMO, ideally, the tests
>>>> should be written in ActionScript.
>>>> 
>>>> Selenium has a Node.js driver and it makes sense that we should be
>> taking
>>>> advantage of that.
>>>> 
>>>> In fact, we can probably have one framework which does non-UI unit
>> testing
>>>> using Node and UI testing using the node and selenium.
>>>> 
>>>> Harbs
>>>> 
>>>>> On Nov 3, 2017, at 1:31 PM, Piotr Zarzycki <[email protected] 
>>>>> <mailto:[email protected]>>
>>>> wrote:
>>>>> 
>>>>> Hi Harbs,
>>>>> 
>>>>> Fully agree what you are saying! Sometimes I have found myself
>> difficult
>>>>> without deeper knowledge how something is working when I check the
>> code.
>>>>> One thing which I can mention is that we already have Selenium
>>>> integrated.
>>>>> If you are going to spend some time on that I would start from the
>> point
>>>>> [1] and see whether we can use it.
>>>>> 
>>>>> As for your coming to US - Wish I could be there!
>>>>> 
>>>>> [1]
>>>>> https://github.com/apache/royale-asjs/tree/develop/examples/examples- 
>>>>> <https://github.com/apache/royale-asjs/tree/develop/examples/examples->
>>>> integrationtests <https://github.com/apache/royale-asjs/tree/develop/ 
>>>> <https://github.com/apache/royale-asjs/tree/develop/> <
>> https://github.com/apache/royale-asjs/tree/develop/ 
>> <https://github.com/apache/royale-asjs/tree/develop/>>
>>>> examples/examples-integrationtests>
>>>>> 
>>>>> Piotr
>>>>> 
>>>>> 
>>>>> 2017-11-03 12:19 GMT+01:00 Harbs <[email protected] 
>>>>> <mailto:[email protected]> <mailto:
>> [email protected] <mailto:[email protected]>> <mailto:
>>>> [email protected] <mailto:[email protected]> 
>>>> <mailto:[email protected] <mailto:[email protected]>>>>:
>>>>> 
>>>>>> One topic which keeps coming up is better test coverage for Royale.
>>>>>> 
>>>>>> I think this is becoming a critical issue for a few reasons:
>>>>>> 1. As we get close to version 1.0 it’s necessary to have good test
>>>>>> coverage for confidence of quality and confidence that we don’t
>>>> introduce
>>>>>> recessive bugs.
>>>>>> 2. It’s really hard to accept Github pull requests without examining
>> the
>>>>>> code VERY well that it does not introduce recessive bugs. CI which
>> runs
>>>>>> automated tests could give a preliminary test on pull requests to
>> ensure
>>>>>> that they don’t break anything. If the pull requests do break
>>>> something, it
>>>>>> allows the requester to fix the problem with confidence without taking
>>>>>> others’ time.
>>>>>> 
>>>>>> I think we need to break up testing into pieces and figure out a
>>>> strategy
>>>>>> to implement automated tests in a way that they are maintainable.
>>>>>> 
>>>>>> Some points:
>>>>>> 1. I think integration into something like Travis would be very
>> helpful.
>>>>>> 2. I think there’s a Jenkins plugin for building pull requests. Not
>> sure
>>>>>> how useful it is.[1]
>>>>>> 3. Josh has created a Node.js-compatible test-runner architecture
>> which
>>>>>> could be useful for unit tests on parts of the framework which don’t
>>>> rely
>>>>>> on browser features. (i.e. models and the like) He mentioned the
>>>>>> possibility of donating it, and I think that would be a very useful
>>>> feature.
>>>>>> 4. For UI and integration tests, there seem to be some pretty cool
>>>>>> integrations using Selenium.[2][3]
>>>>>> 5. I think the main testing effort needs to be using JS and something
>>>> like
>>>>>> Josh’s testing framework for non-UI pieces and some easy-to-use
>> Selenium
>>>>>> integration for visual pieces and integration tests.
>>>>>> 6. We probably also want some API endpoints we can test off of for
>>>>>> integration testing.
>>>>>> 
>>>>>> I’m willing to invest time into this.
>>>>>> 
>>>>>> It’s going to be a lot of work building out the tests and I think we
>>>> need
>>>>>> a plan for that. My thoughts:
>>>>>> 
>>>>>> 1. Step one is to make it easy to write meaningful automated tests and
>>>>>> establish a clear pattern.
>>>>>> 2. Step two is to start writing tests starting from the
>>>> most-used/easiest
>>>>>> to beak pieces and work out from there.
>>>>>> 3. Once the pattern is established, any new pieces MUST have testing
>>>>>> coverage.
>>>>>> 4. When fixing bugs, attention should be paid to adding testing for
>> that
>>>>>> component.
>>>>>> 5. When a pull request comes in on a piece which does not have unit
>>>> test,
>>>>>> a test must be written before accepting the pull request. The test
>> does
>>>> not
>>>>>> need to be written by the requester. Before examining the request, the
>>>> test
>>>>>> should be written to pass for expected behavior and fail for the bug
>>>> that
>>>>>> the pull request is attempting to fix (assuming the pull request is to
>>>> fix
>>>>>> a bug).
>>>>>> 
>>>>>> Thoughts?
>>>>>> Harbs
>>>>>> 
>>>>>> P.S. I’m thinking of coming to the US in late December/early January.
>> I
>>>>>> would be interested in getting together for a hacking session with
>> folks
>>>>>> who are available.
>>>>>> 
>>>>>> [1]https://wiki.jenkins.io/display/JENKINS/GitHub+pull+ 
>>>>>> <https://wiki.jenkins.io/display/JENKINS/GitHub+pull+> <
>> https://wiki.jenkins.io/display/JENKINS/GitHub+pull+ 
>> <https://wiki.jenkins.io/display/JENKINS/GitHub+pull+>>
>>>>>> request+builder+plugin <https://wiki.jenkins.io/ 
>>>>>> <https://wiki.jenkins.io/> <
>> https://wiki.jenkins.io/ <https://wiki.jenkins.io/>> <
>>>> https://wiki.jenkins.io/ <https://wiki.jenkins.io/> 
>>>> <https://wiki.jenkins.io/ <https://wiki.jenkins.io/>>>
>>>>>> display/JENKINS/GitHub+pull+request+builder+plugin>
>>>>>> [2]https://docs.travis-ci.com/user/gui-and-headless-browsers/ 
>>>>>> <https://docs.travis-ci.com/user/gui-and-headless-browsers/> <
>> https://docs.travis-ci.com/user/gui-and-headless-browsers/ 
>> <https://docs.travis-ci.com/user/gui-and-headless-browsers/>> <
>>>> https://docs.travis-ci.com/user/gui-and-headless-browsers/ 
>>>> <https://docs.travis-ci.com/user/gui-and-headless-browsers/> <
>> https://docs.travis-ci.com/user/gui-and-headless-browsers/ 
>> <https://docs.travis-ci.com/user/gui-and-headless-browsers/>>> <
>>>>>> https://docs.travis-ci.com/user/gui-and-headless-browsers/ 
>>>>>> <https://docs.travis-ci.com/user/gui-and-headless-browsers/> <
>> https://docs.travis-ci.com/user/gui-and-headless-browsers/ 
>> <https://docs.travis-ci.com/user/gui-and-headless-browsers/>> <
>>>> https://docs.travis-ci.com/user/gui-and-headless-browsers/ 
>>>> <https://docs.travis-ci.com/user/gui-and-headless-browsers/> <
>> https://docs.travis-ci.com/user/gui-and-headless-browsers/ 
>> <https://docs.travis-ci.com/user/gui-and-headless-browsers/>>>>
>>>>>> [3]https://saucelabs.com/products/integrations 
>>>>>> <https://saucelabs.com/products/integrations> <
>> https://saucelabs.com/products/integrations 
>> <https://saucelabs.com/products/integrations>> <https://saucelabs.com/ 
>> <https://saucelabs.com/> <
>> https://saucelabs.com/ <https://saucelabs.com/>>
>>>> products/integrations> <https://saucelabs.com/ <https://saucelabs.com/> 
>>>> <https://saucelabs.com/ <https://saucelabs.com/>>
>> <https://saucelabs.com/ <https://saucelabs.com/> <https://saucelabs.com/ 
>> <https://saucelabs.com/>>>
>>>>>> products/integrations>
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> --
>>>>> 
>>>>> Piotr Zarzycki
>>>>> 
>>>>> mobile: +48 880 859 557
>>>>> skype: zarzycki10
>>>>> 
>>>>> LinkedIn: http://www.linkedin.com/piotrzarzycki 
>>>>> <http://www.linkedin.com/piotrzarzycki> <
>> http://www.linkedin.com/piotrzarzycki 
>> <http://www.linkedin.com/piotrzarzycki>> <
>>>> http://www.linkedin.com/piotrzarzycki 
>>>> <http://www.linkedin.com/piotrzarzycki> <http://www.linkedin.com/ 
>>>> <http://www.linkedin.com/>
>> piotrzarzycki>>
>>>>> <https://pl.linkedin.com/in/piotr-zarzycki-92a53552 
>>>>> <https://pl.linkedin.com/in/piotr-zarzycki-92a53552> <
>> https://pl.linkedin.com/in/piotr-zarzycki-92a53552 
>> <https://pl.linkedin.com/in/piotr-zarzycki-92a53552>> <
>>>> https://pl.linkedin.com/in/piotr-zarzycki-92a53552 
>>>> <https://pl.linkedin.com/in/piotr-zarzycki-92a53552> <
>> https://pl.linkedin.com/in/piotr-zarzycki-92a53552 
>> <https://pl.linkedin.com/in/piotr-zarzycki-92a53552>>>>
>>>>> 
>>>>> GitHub: https://github.com/piotrzarzycki21 
>>>>> <https://github.com/piotrzarzycki21> <https://github.com/ 
>>>>> <https://github.com/>
>> piotrzarzycki21> <https://github.com/ <https://github.com/> 
>> <https://github.com/ <https://github.com/>>
>>>> piotrzarzycki21>
>>>> 
>>> 
>>> 
>>> 
>>> --
>>> 
>>> Piotr Zarzycki
>>> 
>>> mobile: +48 880 859 557
>>> skype: zarzycki10
>>> 
>>> LinkedIn: http://www.linkedin.com/piotrzarzycki <
>> http://www.linkedin.com/piotrzarzycki>
>>> <https://pl.linkedin.com/in/piotr-zarzycki-92a53552 <
>> https://pl.linkedin.com/in/piotr-zarzycki-92a53552>>
>>> 
>>> GitHub: https://github.com/piotrzarzycki21 <https://github.com/
>> piotrzarzycki21>
>> 
> 
> 
> 
> -- 
> 
> Piotr Zarzycki
> 
> mobile: +48 880 859 557
> skype: zarzycki10
> 
> LinkedIn: http://www.linkedin.com/piotrzarzycki
> <https://pl.linkedin.com/in/piotr-zarzycki-92a53552>
> 
> GitHub: https://github.com/piotrzarzycki21

Reply via email to