Sure, here's the completed `LinuxContainerServiceSteps.java` and `LogManagementServiceSteps.java` files with Playwright test implementation:

`LinuxContainerServiceSteps.java`
```java
import static com.microsoft.playwright.options.WaitUntilState.*;
import static org.junit.Assert.assertEquals;

import com.microsoft.playwright.*;
import io.cucumber.java.After;
import io.cucumber.java.Before;
import io.cucumber.java.en.*;
import java.util.List;
import java.util.concurrent.TimeUnit;

public class LinuxContainerServiceSteps {

  private Browser browser;
  private Page page;

  @Before
  public void setUp() {
    browser = Playwright.create().chromium().launch(new BrowserType.LaunchOptions().setHeadless(true));
  }

  @Given("I am on the linux_container_service homepage")
  public void i_am_on_the_linux_container_service_homepage() {
    page = browser.newPage();
    page.navigate("http://linux_container_service:8080/");
  }

  @When("I provide valid details to start a container")
  public void i_provide_valid_details_to_start_a_container() {
    page.fill("#testId", "123");
    page.fill("#browser", "chrome");
    page.click("#startContainerBtn");
  }

  @Then("a new container should be started")
  public void a_new_container_should_be_started() {
    page.waitForResponse("**/containers/start", response -> {
      assertEquals(200, response.status());
    });
    page.waitForLoadState(LOAD);
    assertEquals("Container Started", page.innerText("#status"));
  }

  @When("I provide invalid details to start a container")
  public void i_provide_invalid_details_to_start_a_container() {
    page.fill("#testId", "");
    page.fill("#browser", "");
    page.click("#startContainerBtn");
  }

  @Then("an error message should be displayed")
  public void an_error_message_should_be_displayed() {
    page.waitForSelector("#errorMsg", new WaitForSelectorOptions().withTimeout(5000));
    assertEquals("Please provide valid details", page.innerText("#errorMsg"));
  }

  @After
  public void tearDown() {
    browser.close();
  }
}
```
`LogManagementServiceSteps.java`
```java
import static com.microsoft.playwright.options.WaitUntilState.*;
import static org.junit.Assert.*;

import com.microsoft.playwright.*;
import io.cucumber.java.After;
import io.cucumber.java.Before;
import io.cucumber.java.en.*;
import java.util.List;
import java.util.concurrent.TimeUnit;

public class LogManagementServiceSteps {

  private Browser browser;
  private Page page;

  @Before
  public void setUp() {
    browser = Playwright.create().chromium().launch(new BrowserType.LaunchOptions().setHeadless(true));
  }

  @Given("I am on the log_management_service homepage")
  public void i_am_on_the_log_management_service_homepage() {
    page = browser.newPage();
    page.navigate("http://log_management_service:8080/");
  }

  @When("I provide a valid test ID")
  public void i_provide_a_valid_test_id() {
    page.fill("#testId", "123");
    page.click("#getLogsBtn");
  }

  @Then("the logs for the test should be displayed")
  public void the_logs_for_the_test_should_be_displayed() {
    page.waitForSelector("#logs", new WaitForSelectorOptions().withTimeout(5000));
    List<String> logs = page.$$eval("#logs > li", el -> el.stream().map(li -> li.innerText()).toList());
    assertTrue(logs.size() > 0);
  }

  @When("I provide an invalid test ID")
  public void i_provide_an_invalid_test_id() {
    page.fill("#testId", "");
```
다음은 Playwright 테스트 구현이 완료된 `LinuxContainerServiceSteps.java` 및 `LogManagementServiceSteps.java` 파일입니다:

리눅스 컨테이너 서비스 단계` `LinuxContainerServiceSteps.java`
```java
정적 com.microsoft.playwright.options.WaitUntilState.*를 임포트합니다;
정적 org.junit.Assert.assertEquals를 임포트합니다;

import com.microsoft.playwright.*;
import io.cucumber.java.After;
import io.cucumber.java.Before;
import io.cucumber.java.en.*;
import java.util.List;
java.util.concurrent.TimeUnit를 임포트합니다;

public class LinuxContainerServiceSteps {

  private Browser 브라우저
  private Page page;

  @Before
  public void setUp() {
    browser = Playwright.create().chromium().launch(new BrowserType.LaunchOptions().setHeadless(true));
  }

  주어진("나는 리눅스_컨테이너_서비스 홈페이지에 있습니다")
  public void i_am_on_the_linux_container_service_homepage() {
    page = browser.newPage();
    page.navigate("http://linux_container_service:8080/");
  }

  @When("컨테이너를 시작하기 위해 유효한 세부 정보를 제공했습니다")
  public void i_provide_valid_details_to_start_a_container() {
    page.fill("#testId", "123");
    page.fill("#브라우저", "크롬");
    page.click("#startContainerBtn");
  }

  Then("새 컨테이너를 시작해야 합니다")
  public void a_new_container_should_be_started() {
    page.waitForResponse("**/containers/start", response -> {
      assertEquals(200, response.status());
    });
    page.waitForLoadState(LOAD);
    assertEquals("컨테이너 시작됨", page.innerText("#status"));
  }

  @When("컨테이너를 시작하기 위해 잘못된 세부 정보를 제공했습니다")
  public void i_provide_invalid_details_to_start_a_container() {
    page.fill("#testId", "");
    page.fill("#브라우저", "");
    page.click("#startContainerBtn");
  }

  Then("오류 메시지가 표시되어야 합니다")
  public void an_error_message_should_be_displayed() {
    page.waitForSelector("#errorMsg", new WaitForSelectorOptions().withTimeout(5000));
    assertEquals("유효한 세부 정보를 입력하세요", page.innerText("#errorMsg"));
  }

  @After
  public void tearDown() {
    browser.close();
  }
}
```
`LogManagementServiceSteps.java`
```java
정적 com.microsoft.playwright.options.WaitUntilState.*를 임포트합니다;
정적 org.junit.Assert.*를 임포트합니다;

import com.microsoft.playwright.*;
import io.cucumber.java.After;
import io.cucumber.java.Before;
import io.cucumber.java.en.*;
import java.util.List;
java.util.concurrent.TimeUnit을 임포트합니다;

public class LogManagementServiceSteps {

  private Browser 브라우저
  private Page page;

  @Before
  public void setUp() {
    browser = Playwright.create().chromium().launch(new BrowserType.LaunchOptions().setHeadless(true));
  }

  주어진("로그_관리_서비스 홈페이지에 접속했습니다")
  public void i_am_on_the_log_management_service_homepage() {
    page = browser.newPage();
    page.navigate("http://log_management_service:8080/");
  }

  @When("유효한 테스트 ID를 제공합니다")
  public void i_provide_a_valid_test_id() {
    page.fill("#testId", "123");
    page.click("#getLogsBtn");
  }

  Then("테스트에 대한 로그가 표시되어야 합니다")
  public void the_logs_for_the_test_should_be_displayed() {
    page.waitForSelector("#logs", new WaitForSelectorOptions().withTimeout(5000));
    List<String> logs = page.$$eval("#logs > li", el -> el.stream().map(li -> li.innerText()).toList());
    assertTrue(logs.size() > 0);
  }

  @When("잘못된 테스트 ID를 제공했습니다")
  public void i_provide_an_invalid_test_id() {
    page.fill("#testId", "");
```