Maven Standard Directory Layout for UI Test Automation project: what modules should be considered as main, and what as test?

From my experience I can say that usually UI test automation framework is a separate code base, different from developers repository (application under test).

It is common to use Maven or Gradle as a build tool in test automation frameworks written on Java. By default it means that the project has main and test subfolders, which is know as “Maven Standard Directory Layout”.

For developers code it is clear: under main there is application code itself, whereas under test there are unit tests. But for the test automation framework I can feel there are different opinions:

  1. Tests. Test automation framework is considered as nothing but the tests. All code goes under test subfolder. The main subfolder is empty.
  2. App. Test automation framework is a separate application. The purpose of the application is testing, statistics, reporting, etc., but in this case it doesn’t matter. As we usually do not write unit tests for our automation tests, then the test subfolder is empty, all code is in main subfolder.
  3. Automation and testing. In test automation we should distinguish “automation” and “testing” parts. Automation part (framework initialization, drivers, page objects, constants that describe application under test, etc.) goes under main. Testing part (assertions, tests, before/after hooks, constants that represent test data, etc.) goes under test.

I can suggest advantages and disadvantages for each approach:

  1. Tests. This is the easiest, but having empty main looks strange. Do we test nothing? Somebody may think it means that the developers repository can be used instead of separate one.
  2. App. This looks for me very logical. But I have never see it in my projects. I also not sure whether test automation frameworks like JUnit or TestNG are absolutely ok with that.
  3. Automation and testing. It seems to me very consistent with the official docs, for example, Selenium documentation insists that page object are about automation, rather than testing, so no assertions should be there. So this approach looks like logical continuation. But the disadvantage that I can feel is an uncertainty. It is clear that page objects (without assertions) should be under main. Tests itself should be under test. But I’m afraid about more ambiguous situations. What if the test automation structure also consists of business logic layer. Where should be that layer? Especially if it has verification steps (with assertions)?

I would be very happy if you share your experience and describe what and why you consider the best!

Thanks!

Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa Dịch vụ tổ chức sự kiện 5 sao Thông tin về chúng tôi Dịch vụ sinh nhật bé trai Dịch vụ sinh nhật bé gái Sự kiện trọn gói Các tiết mục giải trí Dịch vụ bổ trợ Tiệc cưới sang trọng Dịch vụ khai trương Tư vấn tổ chức sự kiện Hình ảnh sự kiện Cập nhật tin tức Liên hệ ngay Thuê chú hề chuyên nghiệp Tiệc tất niên cho công ty Trang trí tiệc cuối năm Tiệc tất niên độc đáo Sinh nhật bé Hải Đăng Sinh nhật đáng yêu bé Khánh Vân Sinh nhật sang trọng Bích Ngân Tiệc sinh nhật bé Thanh Trang Dịch vụ ông già Noel Xiếc thú vui nhộn Biểu diễn xiếc quay đĩa Dịch vụ tổ chức tiệc uy tín Khám phá dịch vụ của chúng tôi Tiệc sinh nhật cho bé trai Trang trí tiệc cho bé gái Gói sự kiện chuyên nghiệp Chương trình giải trí hấp dẫn Dịch vụ hỗ trợ sự kiện Trang trí tiệc cưới đẹp Khởi đầu thành công với khai trương Chuyên gia tư vấn sự kiện Xem ảnh các sự kiện đẹp Tin mới về sự kiện Kết nối với đội ngũ chuyên gia Chú hề vui nhộn cho tiệc sinh nhật Ý tưởng tiệc cuối năm Tất niên độc đáo Trang trí tiệc hiện đại Tổ chức sinh nhật cho Hải Đăng Sinh nhật độc quyền Khánh Vân Phong cách tiệc Bích Ngân Trang trí tiệc bé Thanh Trang Thuê dịch vụ ông già Noel chuyên nghiệp Xem xiếc khỉ đặc sắc Xiếc quay đĩa thú vị
Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa
Thiết kế website Thiết kế website Thiết kế website Cách kháng tài khoản quảng cáo Mua bán Fanpage Facebook Dịch vụ SEO Tổ chức sinh nhật